Skip to content

Commit 5d3e24c

Browse files
dbanks12dbanks12
andauthored
fix: dependency cycles in public simulator part 2 (serializable bytecode) (#13680)
Down to 1 cycle now: `private_execution.ts -> private_execution_oracle.ts` Co-authored-by: dbanks12 <[email protected]>
1 parent 062d8db commit 5d3e24c

16 files changed

+188
-189
lines changed

yarn-project/simulator/src/public/avm/opcodes/accrued_substate.test.ts

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,8 @@ describe('Accrued Substate', () => {
7272
/*existsOffset=*/ 0x4567,
7373
);
7474

75-
expect(NoteHashExists.deserialize(buf)).toEqual(inst);
76-
expect(inst.serialize()).toEqual(buf);
75+
expect(NoteHashExists.fromBuffer(buf)).toEqual(inst);
76+
expect(inst.toBuffer()).toEqual(buf);
7777
});
7878

7979
// Will check existence at leafIndex, but nothing may be found there and/or something may be found at mockAtLeafIndex
@@ -117,8 +117,8 @@ describe('Accrued Substate', () => {
117117
]);
118118
const inst = new EmitNoteHash(/*indirect=*/ 0x01, /*offset=*/ 0x1234);
119119

120-
expect(EmitNoteHash.deserialize(buf)).toEqual(inst);
121-
expect(inst.serialize()).toEqual(buf);
120+
expect(EmitNoteHash.fromBuffer(buf)).toEqual(inst);
121+
expect(inst.toBuffer()).toEqual(buf);
122122
});
123123

124124
it('Should append a new note hash correctly', async () => {
@@ -149,8 +149,8 @@ describe('Accrued Substate', () => {
149149
/*existsOffset=*/ 0x4567,
150150
);
151151

152-
expect(NullifierExists.deserialize(buf)).toEqual(inst);
153-
expect(inst.serialize()).toEqual(buf);
152+
expect(NullifierExists.fromBuffer(buf)).toEqual(inst);
153+
expect(inst.toBuffer()).toEqual(buf);
154154
});
155155

156156
describe.each([[/*exists=*/ false], [/*exists=*/ true]])('Nullifier checks', (exists: boolean) => {
@@ -186,8 +186,8 @@ describe('Accrued Substate', () => {
186186
]);
187187
const inst = new EmitNullifier(/*indirect=*/ 0x01, /*offset=*/ 0x1234);
188188

189-
expect(EmitNullifier.deserialize(buf)).toEqual(inst);
190-
expect(inst.serialize()).toEqual(buf);
189+
expect(EmitNullifier.fromBuffer(buf)).toEqual(inst);
190+
expect(inst.toBuffer()).toEqual(buf);
191191
});
192192

193193
it('Should append a new nullifier correctly', async () => {
@@ -237,8 +237,8 @@ describe('Accrued Substate', () => {
237237
/*existsOffset=*/ 0xcdef,
238238
);
239239

240-
expect(L1ToL2MessageExists.deserialize(buf)).toEqual(inst);
241-
expect(inst.serialize()).toEqual(buf);
240+
expect(L1ToL2MessageExists.fromBuffer(buf)).toEqual(inst);
241+
expect(inst.toBuffer()).toEqual(buf);
242242
});
243243

244244
// Will check existence at leafIndex, but nothing may be found there and/or something may be found at mockAtLeafIndex
@@ -284,8 +284,8 @@ describe('Accrued Substate', () => {
284284
]);
285285
const inst = new EmitUnencryptedLog(/*indirect=*/ 0x01, /*offset=*/ 0x1234, /*lengthOffset=*/ 0xa234);
286286

287-
expect(EmitUnencryptedLog.deserialize(buf)).toEqual(inst);
288-
expect(inst.serialize()).toEqual(buf);
287+
expect(EmitUnencryptedLog.fromBuffer(buf)).toEqual(inst);
288+
expect(inst.toBuffer()).toEqual(buf);
289289
});
290290

291291
it('Should append public logs correctly', async () => {
@@ -316,8 +316,8 @@ describe('Accrued Substate', () => {
316316
]);
317317
const inst = new SendL2ToL1Message(/*indirect=*/ 0x01, /*recipientOffset=*/ 0x1234, /*contentOffset=*/ 0xa234);
318318

319-
expect(SendL2ToL1Message.deserialize(buf)).toEqual(inst);
320-
expect(inst.serialize()).toEqual(buf);
319+
expect(SendL2ToL1Message.fromBuffer(buf)).toEqual(inst);
320+
expect(inst.toBuffer()).toEqual(buf);
321321
});
322322

323323
it('Should append l2 to l1 message correctly', async () => {

yarn-project/simulator/src/public/avm/opcodes/arithmetic.test.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ describe('Arithmetic Instructions', () => {
2626
Add.wireFormat16,
2727
);
2828

29-
expect(Add.as(Add.wireFormat16).deserialize(buf)).toEqual(inst);
30-
expect(inst.serialize()).toEqual(buf);
29+
expect(Add.as(Add.wireFormat16).fromBuffer(buf)).toEqual(inst);
30+
expect(inst.toBuffer()).toEqual(buf);
3131
});
3232

3333
describe.each([
@@ -107,8 +107,8 @@ describe('Arithmetic Instructions', () => {
107107
Sub.wireFormat16,
108108
);
109109

110-
expect(Sub.as(Sub.wireFormat16).deserialize(buf)).toEqual(inst);
111-
expect(inst.serialize()).toEqual(buf);
110+
expect(Sub.as(Sub.wireFormat16).fromBuffer(buf)).toEqual(inst);
111+
expect(inst.toBuffer()).toEqual(buf);
112112
});
113113

114114
describe.each([
@@ -169,8 +169,8 @@ describe('Arithmetic Instructions', () => {
169169
Mul.wireFormat16,
170170
);
171171

172-
expect(Mul.as(Mul.wireFormat16).deserialize(buf)).toEqual(inst);
173-
expect(inst.serialize()).toEqual(buf);
172+
expect(Mul.as(Mul.wireFormat16).fromBuffer(buf)).toEqual(inst);
173+
expect(inst.toBuffer()).toEqual(buf);
174174
});
175175

176176
describe.each([
@@ -226,8 +226,8 @@ describe('Arithmetic Instructions', () => {
226226
Div.wireFormat16,
227227
);
228228

229-
expect(Div.as(Div.wireFormat16).deserialize(buf)).toEqual(inst);
230-
expect(inst.serialize()).toEqual(buf);
229+
expect(Div.as(Div.wireFormat16).fromBuffer(buf)).toEqual(inst);
230+
expect(inst.toBuffer()).toEqual(buf);
231231
});
232232

233233
describe.each([
@@ -263,8 +263,8 @@ describe('Arithmetic Instructions', () => {
263263
FieldDiv.wireFormat16,
264264
);
265265

266-
expect(FieldDiv.as(FieldDiv.wireFormat16).deserialize(buf)).toEqual(inst);
267-
expect(inst.serialize()).toEqual(buf);
266+
expect(FieldDiv.as(FieldDiv.wireFormat16).fromBuffer(buf)).toEqual(inst);
267+
expect(inst.toBuffer()).toEqual(buf);
268268
});
269269

270270
it('Should perform field division', async () => {

yarn-project/simulator/src/public/avm/opcodes/bitwise.test.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ describe('Bitwise instructions', () => {
2525
And.wireFormat16,
2626
);
2727

28-
expect(And.as(And.wireFormat16).deserialize(buf)).toEqual(inst);
29-
expect(inst.serialize()).toEqual(buf);
28+
expect(And.as(And.wireFormat16).fromBuffer(buf)).toEqual(inst);
29+
expect(inst.toBuffer()).toEqual(buf);
3030
});
3131

3232
it('Should AND correctly over integral types', async () => {
@@ -54,8 +54,8 @@ describe('Bitwise instructions', () => {
5454
Or.wireFormat16,
5555
);
5656

57-
expect(Or.as(Or.wireFormat16).deserialize(buf)).toEqual(inst);
58-
expect(inst.serialize()).toEqual(buf);
57+
expect(Or.as(Or.wireFormat16).fromBuffer(buf)).toEqual(inst);
58+
expect(inst.toBuffer()).toEqual(buf);
5959
});
6060

6161
it('Should OR correctly over integral types', async () => {
@@ -87,8 +87,8 @@ describe('Bitwise instructions', () => {
8787
Xor.wireFormat16,
8888
);
8989

90-
expect(Xor.as(Xor.wireFormat16).deserialize(buf)).toEqual(inst);
91-
expect(inst.serialize()).toEqual(buf);
90+
expect(Xor.as(Xor.wireFormat16).fromBuffer(buf)).toEqual(inst);
91+
expect(inst.toBuffer()).toEqual(buf);
9292
});
9393

9494
it('Should XOR correctly over integral types', async () => {
@@ -120,8 +120,8 @@ describe('Bitwise instructions', () => {
120120
Shr.wireFormat16,
121121
);
122122

123-
expect(Shr.as(Shr.wireFormat16).deserialize(buf)).toEqual(inst);
124-
expect(inst.serialize()).toEqual(buf);
123+
expect(Shr.as(Shr.wireFormat16).fromBuffer(buf)).toEqual(inst);
124+
expect(inst.toBuffer()).toEqual(buf);
125125
});
126126

127127
it('Should require shift amount to be U8', async () => {
@@ -193,8 +193,8 @@ describe('Bitwise instructions', () => {
193193
Shl.wireFormat16,
194194
);
195195

196-
expect(Shl.as(Shl.wireFormat16).deserialize(buf)).toEqual(inst);
197-
expect(inst.serialize()).toEqual(buf);
196+
expect(Shl.as(Shl.wireFormat16).fromBuffer(buf)).toEqual(inst);
197+
expect(inst.toBuffer()).toEqual(buf);
198198
});
199199

200200
it('Should require shift amount to be U8', async () => {
@@ -279,8 +279,8 @@ describe('Bitwise instructions', () => {
279279
Not.wireFormat16,
280280
);
281281

282-
expect(Not.as(Not.wireFormat16).deserialize(buf)).toEqual(inst);
283-
expect(inst.serialize()).toEqual(buf);
282+
expect(Not.as(Not.wireFormat16).fromBuffer(buf)).toEqual(inst);
283+
expect(inst.toBuffer()).toEqual(buf);
284284
});
285285

286286
it('Should NOT correctly over integral types', async () => {

yarn-project/simulator/src/public/avm/opcodes/comparators.test.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ describe('Comparators', () => {
2626
Eq.wireFormat16,
2727
);
2828

29-
expect(Eq.as(Eq.wireFormat16).deserialize(buf)).toEqual(inst);
30-
expect(inst.serialize()).toEqual(buf);
29+
expect(Eq.as(Eq.wireFormat16).fromBuffer(buf)).toEqual(inst);
30+
expect(inst.toBuffer()).toEqual(buf);
3131
});
3232

3333
it('Works on integral types', async () => {
@@ -93,8 +93,8 @@ describe('Comparators', () => {
9393
Lt.wireFormat16,
9494
);
9595

96-
expect(Lt.as(Lt.wireFormat16).deserialize(buf)).toEqual(inst);
97-
expect(inst.serialize()).toEqual(buf);
96+
expect(Lt.as(Lt.wireFormat16).fromBuffer(buf)).toEqual(inst);
97+
expect(inst.toBuffer()).toEqual(buf);
9898
});
9999

100100
it('Works on integral types', async () => {
@@ -160,8 +160,8 @@ describe('Comparators', () => {
160160
Lte.wireFormat16,
161161
);
162162

163-
expect(Lte.as(Lte.wireFormat16).deserialize(buf)).toEqual(inst);
164-
expect(inst.serialize()).toEqual(buf);
163+
expect(Lte.as(Lte.wireFormat16).fromBuffer(buf)).toEqual(inst);
164+
expect(inst.toBuffer()).toEqual(buf);
165165
});
166166

167167
it('Works on integral types', async () => {

yarn-project/simulator/src/public/avm/opcodes/contract.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ describe('Contract opcodes', () => {
4848
/*memberEnum=*/ 0x02,
4949
);
5050

51-
expect(GetContractInstance.deserialize(buf)).toEqual(inst);
52-
expect(inst.serialize()).toEqual(buf);
51+
expect(GetContractInstance.fromBuffer(buf)).toEqual(inst);
52+
expect(inst.toBuffer()).toEqual(buf);
5353
});
5454

5555
describe.each([

yarn-project/simulator/src/public/avm/opcodes/control_flow.test.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ describe('Control Flow Opcodes', () => {
1919
]);
2020
const inst = new Jump(/*loc=*/ 0x12340000);
2121

22-
expect(Jump.deserialize(buf)).toEqual(inst);
23-
expect(inst.serialize()).toEqual(buf);
22+
expect(Jump.fromBuffer(buf)).toEqual(inst);
23+
expect(inst.toBuffer()).toEqual(buf);
2424
});
2525

2626
it('Should implement JUMP', async () => {
@@ -44,8 +44,8 @@ describe('Control Flow Opcodes', () => {
4444
]);
4545
const inst = new JumpI(/*indirect=*/ 1, /*condOffset=*/ 0xa234, /*loc=*/ 0x12340000);
4646

47-
expect(JumpI.deserialize(buf)).toEqual(inst);
48-
expect(inst.serialize()).toEqual(buf);
47+
expect(JumpI.fromBuffer(buf)).toEqual(inst);
48+
expect(inst.toBuffer()).toEqual(buf);
4949
});
5050

5151
it('Should implement JUMPI - truthy', async () => {
@@ -89,8 +89,8 @@ describe('Control Flow Opcodes', () => {
8989
]);
9090
const inst = new InternalCall(/*loc=*/ 0x12340000);
9191

92-
expect(InternalCall.deserialize(buf)).toEqual(inst);
93-
expect(inst.serialize()).toEqual(buf);
92+
expect(InternalCall.fromBuffer(buf)).toEqual(inst);
93+
expect(inst.toBuffer()).toEqual(buf);
9494
});
9595

9696
it('Should implement Internal Call and Return', async () => {

yarn-project/simulator/src/public/avm/opcodes/conversion.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ describe('Conversion Opcodes', () => {
3232
/*dstOffset=*/ 0x5678,
3333
);
3434

35-
expect(ToRadixBE.deserialize(buf)).toEqual(inst);
36-
expect(inst.serialize()).toEqual(buf);
35+
expect(ToRadixBE.fromBuffer(buf)).toEqual(inst);
36+
expect(inst.toBuffer()).toEqual(buf);
3737
});
3838

3939
it('Should decompose correctly to bytes - direct', async () => {

yarn-project/simulator/src/public/avm/opcodes/ec_add.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ describe('EC Instructions', () => {
4040
/*dstOffset=*/ 0x1239,
4141
);
4242

43-
expect(EcAdd.deserialize(buf)).toEqual(inst);
44-
expect(inst.serialize()).toEqual(buf);
43+
expect(EcAdd.fromBuffer(buf)).toEqual(inst);
44+
expect(inst.toBuffer()).toEqual(buf);
4545
});
4646

4747
it(`Should double correctly`, async () => {

yarn-project/simulator/src/public/avm/opcodes/environment_getters.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@ describe('Environment getters', () => {
5454
GetEnvVar.wireFormat16,
5555
);
5656

57-
expect(GetEnvVar.as(GetEnvVar.wireFormat16).deserialize(buf)).toEqual(instr);
58-
expect(instr.serialize()).toEqual(buf);
57+
expect(GetEnvVar.as(GetEnvVar.wireFormat16).fromBuffer(buf)).toEqual(instr);
58+
expect(instr.toBuffer()).toEqual(buf);
5959
});
6060

6161
describe.each([

yarn-project/simulator/src/public/avm/opcodes/external_calls.test.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ describe('External Calls', () => {
5959
/*argsSizeOffset=*/ 0xc234,
6060
);
6161

62-
expect(Call.deserialize(buf)).toEqual(inst);
63-
expect(inst.serialize()).toEqual(buf);
62+
expect(Call.fromBuffer(buf)).toEqual(inst);
63+
expect(inst.toBuffer()).toEqual(buf);
6464
});
6565

6666
it('Call to non-existent bytecode returns failure', async () => {
@@ -227,8 +227,8 @@ describe('External Calls', () => {
227227
/*argsSizeOffset=*/ 0xc234,
228228
);
229229

230-
expect(StaticCall.deserialize(buf)).toEqual(inst);
231-
expect(inst.serialize()).toEqual(buf);
230+
expect(StaticCall.fromBuffer(buf)).toEqual(inst);
231+
expect(inst.toBuffer()).toEqual(buf);
232232
});
233233

234234
it('Should fail if a static call attempts to touch storage', async () => {
@@ -279,8 +279,8 @@ describe('External Calls', () => {
279279
]);
280280
const inst = new Return(/*indirect=*/ 0x01, /*returnOffset=*/ 0x1234, /*copySize=*/ 0xa234);
281281

282-
expect(Return.deserialize(buf)).toEqual(inst);
283-
expect(inst.serialize()).toEqual(buf);
282+
expect(Return.fromBuffer(buf)).toEqual(inst);
283+
expect(inst.toBuffer()).toEqual(buf);
284284
});
285285

286286
it('Should return data from the return opcode', async () => {
@@ -313,8 +313,8 @@ describe('External Calls', () => {
313313
Revert.wireFormat16,
314314
);
315315

316-
expect(Revert.as(Revert.wireFormat16).deserialize(buf)).toEqual(inst);
317-
expect(inst.serialize()).toEqual(buf);
316+
expect(Revert.as(Revert.wireFormat16).fromBuffer(buf)).toEqual(inst);
317+
expect(inst.toBuffer()).toEqual(buf);
318318
});
319319

320320
it('Should return data and revert from the revert opcode', async () => {
@@ -342,8 +342,8 @@ describe('External Calls', () => {
342342
]);
343343
const inst = new SuccessCopy(/*indirect=*/ 0x12, /*dstOffset=*/ 0x5678);
344344

345-
expect(SuccessCopy.deserialize(buf)).toEqual(inst);
346-
expect(inst.serialize()).toEqual(buf);
345+
expect(SuccessCopy.fromBuffer(buf)).toEqual(inst);
346+
expect(inst.toBuffer()).toEqual(buf);
347347
});
348348

349349
it('Should correctly copy success state for a successful call', async () => {

yarn-project/simulator/src/public/avm/opcodes/hashing.test.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ describe('Hashing Opcodes', () => {
2424
]);
2525
const inst = new Poseidon2(/*indirect=*/ 1, /*dstOffset=*/ 0x1234, /*messageOffset=*/ 0x2345);
2626

27-
expect(Poseidon2.deserialize(buf)).toEqual(inst);
28-
expect(inst.serialize()).toEqual(buf);
27+
expect(Poseidon2.fromBuffer(buf)).toEqual(inst);
28+
expect(inst.toBuffer()).toEqual(buf);
2929
});
3030

3131
it('Should hash correctly - direct', async () => {
@@ -98,8 +98,8 @@ describe('Hashing Opcodes', () => {
9898
]);
9999
const inst = new KeccakF1600(/*indirect=*/ 1, /*dstOffset=*/ 0x1234, /*inputOffset=*/ 0x2345);
100100

101-
expect(KeccakF1600.deserialize(buf)).toEqual(inst);
102-
expect(inst.serialize()).toEqual(buf);
101+
expect(KeccakF1600.fromBuffer(buf)).toEqual(inst);
102+
expect(inst.toBuffer()).toEqual(buf);
103103
});
104104

105105
it('Should permute correctly - direct', async () => {
@@ -156,8 +156,8 @@ describe('Hashing Opcodes', () => {
156156
/*inputsOffset=*/ 0x4567,
157157
);
158158

159-
expect(Sha256Compression.deserialize(buf)).toEqual(inst);
160-
expect(inst.serialize()).toEqual(buf);
159+
expect(Sha256Compression.fromBuffer(buf)).toEqual(inst);
160+
expect(inst.toBuffer()).toEqual(buf);
161161
});
162162

163163
it('Should hash correctly - direct', async () => {

0 commit comments

Comments
 (0)