@aztec/simulator 0.26.6 → 0.27.1
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/acvm/acvm.js +2 -2
- package/dest/acvm/serialize.d.ts.map +1 -1
- package/dest/acvm/serialize.js +8 -3
- package/dest/avm/avm_context.d.ts +3 -3
- package/dest/avm/avm_context.d.ts.map +1 -1
- package/dest/avm/avm_context.js +6 -5
- package/dest/avm/avm_execution_environment.d.ts +3 -3
- package/dest/avm/avm_execution_environment.d.ts.map +1 -1
- package/dest/avm/avm_execution_environment.js +16 -17
- package/dest/avm/avm_memory_types.d.ts +9 -0
- package/dest/avm/avm_memory_types.d.ts.map +1 -1
- package/dest/avm/avm_memory_types.js +34 -4
- package/dest/avm/avm_simulator.d.ts.map +1 -1
- package/dest/avm/avm_simulator.js +3 -3
- package/dest/avm/opcodes/arithmetic.d.ts.map +1 -1
- package/dest/avm/opcodes/arithmetic.js +2 -1
- package/dest/avm/opcodes/comparators.d.ts.map +1 -1
- package/dest/avm/opcodes/comparators.js +5 -7
- package/dest/avm/opcodes/control_flow.d.ts +0 -20
- package/dest/avm/opcodes/control_flow.d.ts.map +1 -1
- package/dest/avm/opcodes/control_flow.js +2 -46
- package/dest/avm/opcodes/external_calls.d.ts +24 -2
- package/dest/avm/opcodes/external_calls.d.ts.map +1 -1
- package/dest/avm/opcodes/external_calls.js +74 -17
- package/dest/avm/serialization/instruction_serialization.d.ts +1 -2
- package/dest/avm/serialization/instruction_serialization.d.ts.map +1 -1
- package/dest/avm/serialization/instruction_serialization.js +9 -3
- package/dest/avm/temporary_executor_migration.d.ts.map +1 -1
- package/dest/avm/temporary_executor_migration.js +3 -1
- package/dest/client/client_execution_context.d.ts.map +1 -1
- package/dest/client/client_execution_context.js +4 -6
- package/dest/client/simulator.d.ts.map +1 -1
- package/dest/client/simulator.js +3 -3
- package/dest/public/execution.d.ts +2 -0
- package/dest/public/execution.d.ts.map +1 -1
- package/dest/public/execution.js +1 -1
- package/dest/public/executor.d.ts +21 -0
- package/dest/public/executor.d.ts.map +1 -1
- package/dest/public/executor.js +91 -2
- package/dest/public/public_execution_context.d.ts.map +1 -1
- package/dest/public/public_execution_context.js +1 -2
- package/package.json +5 -5
- package/src/acvm/acvm.ts +1 -1
- package/src/acvm/serialize.ts +9 -3
- package/src/avm/avm_context.ts +21 -5
- package/src/avm/avm_execution_environment.ts +27 -12
- package/src/avm/avm_memory_types.ts +36 -3
- package/src/avm/avm_simulator.ts +10 -3
- package/src/avm/opcodes/arithmetic.ts +2 -0
- package/src/avm/opcodes/comparators.ts +4 -6
- package/src/avm/opcodes/control_flow.ts +1 -47
- package/src/avm/opcodes/external_calls.ts +88 -14
- package/src/avm/serialization/instruction_serialization.ts +8 -2
- package/src/avm/temporary_executor_migration.ts +2 -0
- package/src/client/client_execution_context.ts +1 -13
- package/src/client/simulator.ts +1 -2
- package/src/public/execution.ts +2 -0
- package/src/public/executor.ts +103 -0
- package/src/public/public_execution_context.ts +0 -1
|
@@ -1,26 +1,6 @@
|
|
|
1
1
|
import type { AvmContext } from '../avm_context.js';
|
|
2
2
|
import { Opcode, OperandType } from '../serialization/instruction_serialization.js';
|
|
3
3
|
import { Instruction } from './instruction.js';
|
|
4
|
-
export declare class Return extends Instruction {
|
|
5
|
-
private indirect;
|
|
6
|
-
private returnOffset;
|
|
7
|
-
private copySize;
|
|
8
|
-
static type: string;
|
|
9
|
-
static readonly opcode: Opcode;
|
|
10
|
-
static readonly wireFormat: OperandType[];
|
|
11
|
-
constructor(indirect: number, returnOffset: number, copySize: number);
|
|
12
|
-
execute(context: AvmContext): Promise<void>;
|
|
13
|
-
}
|
|
14
|
-
export declare class Revert extends Instruction {
|
|
15
|
-
private indirect;
|
|
16
|
-
private returnOffset;
|
|
17
|
-
private retSize;
|
|
18
|
-
static type: string;
|
|
19
|
-
static readonly opcode: Opcode;
|
|
20
|
-
static readonly wireFormat: OperandType[];
|
|
21
|
-
constructor(indirect: number, returnOffset: number, retSize: number);
|
|
22
|
-
execute(context: AvmContext): Promise<void>;
|
|
23
|
-
}
|
|
24
4
|
export declare class Jump extends Instruction {
|
|
25
5
|
private jumpOffset;
|
|
26
6
|
static type: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control_flow.d.ts","sourceRoot":"","sources":["../../../src/avm/opcodes/control_flow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qBAAa,
|
|
1
|
+
{"version":3,"file":"control_flow.d.ts","sourceRoot":"","sources":["../../../src/avm/opcodes/control_flow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qBAAa,IAAK,SAAQ,WAAW;IAMvB,OAAO,CAAC,UAAU;IAL9B,MAAM,CAAC,IAAI,EAAE,MAAM,CAAU;IAC7B,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAe;IAE7C,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,CAA2C;gBAEhE,UAAU,EAAE,MAAM;IAIhC,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAGlD;AAED,qBAAa,KAAM,SAAQ,WAAW;IAYxB,OAAO,CAAC,QAAQ;IAAU,OAAO,CAAC,GAAG;IAAU,OAAO,CAAC,UAAU;IAX7E,MAAM,CAAC,IAAI,EAAE,MAAM,CAAW;IAC9B,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAgB;IAG9C,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,CAKvC;gBAEkB,QAAQ,EAAE,MAAM,EAAU,GAAG,EAAE,MAAM,EAAU,UAAU,EAAE,MAAM;IAI/E,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAUlD;AAED,qBAAa,YAAa,SAAQ,WAAW;IAM/B,OAAO,CAAC,GAAG;IALvB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAkB;IAC9C,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAuB;IAErD,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,CAA2C;gBAEhE,GAAG,EAAE,MAAM;IAIzB,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAIlD;AAED,qBAAa,cAAe,SAAQ,WAAW;IAC7C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAoB;IAChD,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAyB;IAEvD,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,CAAuB;;IAM1D,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAOlD"}
|
|
@@ -1,50 +1,6 @@
|
|
|
1
1
|
import { InstructionExecutionError } from '../errors.js';
|
|
2
2
|
import { Opcode, OperandType } from '../serialization/instruction_serialization.js';
|
|
3
3
|
import { Instruction } from './instruction.js';
|
|
4
|
-
export class Return extends Instruction {
|
|
5
|
-
constructor(indirect, returnOffset, copySize) {
|
|
6
|
-
super();
|
|
7
|
-
this.indirect = indirect;
|
|
8
|
-
this.returnOffset = returnOffset;
|
|
9
|
-
this.copySize = copySize;
|
|
10
|
-
}
|
|
11
|
-
async execute(context) {
|
|
12
|
-
const output = context.machineState.memory.getSlice(this.returnOffset, this.copySize).map(word => word.toFr());
|
|
13
|
-
context.machineState.return(output);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
Return.type = 'RETURN';
|
|
17
|
-
Return.opcode = Opcode.RETURN;
|
|
18
|
-
// Informs (de)serialization. See Instruction.deserialize.
|
|
19
|
-
Return.wireFormat = [
|
|
20
|
-
OperandType.UINT8,
|
|
21
|
-
OperandType.UINT8,
|
|
22
|
-
OperandType.UINT32,
|
|
23
|
-
OperandType.UINT32,
|
|
24
|
-
];
|
|
25
|
-
export class Revert extends Instruction {
|
|
26
|
-
constructor(indirect, returnOffset, retSize) {
|
|
27
|
-
super();
|
|
28
|
-
this.indirect = indirect;
|
|
29
|
-
this.returnOffset = returnOffset;
|
|
30
|
-
this.retSize = retSize;
|
|
31
|
-
}
|
|
32
|
-
async execute(context) {
|
|
33
|
-
const output = context.machineState.memory
|
|
34
|
-
.getSlice(this.returnOffset, this.returnOffset + this.retSize)
|
|
35
|
-
.map(word => word.toFr());
|
|
36
|
-
context.machineState.revert(output);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
Revert.type = 'RETURN';
|
|
40
|
-
Revert.opcode = Opcode.REVERT;
|
|
41
|
-
// Informs (de)serialization. See Instruction.deserialize.
|
|
42
|
-
Revert.wireFormat = [
|
|
43
|
-
OperandType.UINT8,
|
|
44
|
-
OperandType.UINT8,
|
|
45
|
-
OperandType.UINT32,
|
|
46
|
-
OperandType.UINT32,
|
|
47
|
-
];
|
|
48
4
|
export class Jump extends Instruction {
|
|
49
5
|
constructor(jumpOffset) {
|
|
50
6
|
super();
|
|
@@ -106,7 +62,7 @@ export class InternalReturn extends Instruction {
|
|
|
106
62
|
async execute(context) {
|
|
107
63
|
const jumpOffset = context.machineState.internalCallStack.pop();
|
|
108
64
|
if (jumpOffset === undefined) {
|
|
109
|
-
throw new InstructionExecutionError('Internal call empty!');
|
|
65
|
+
throw new InstructionExecutionError('Internal call stack empty!');
|
|
110
66
|
}
|
|
111
67
|
context.machineState.pc = jumpOffset;
|
|
112
68
|
}
|
|
@@ -115,4 +71,4 @@ InternalReturn.type = 'INTERNALRETURN';
|
|
|
115
71
|
InternalReturn.opcode = Opcode.INTERNALRETURN;
|
|
116
72
|
// Informs (de)serialization. See Instruction.deserialize.
|
|
117
73
|
InternalReturn.wireFormat = [OperandType.UINT8];
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbF9mbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F2bS9vcGNvZGVzL2NvbnRyb2xfZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNwRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFL0MsTUFBTSxPQUFPLElBQUssU0FBUSxXQUFXO0lBTW5DLFlBQW9CLFVBQWtCO1FBQ3BDLEtBQUssRUFBRSxDQUFDO1FBRFUsZUFBVSxHQUFWLFVBQVUsQ0FBUTtJQUV0QyxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFtQjtRQUMvQixPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzVDLENBQUM7O0FBWE0sU0FBSSxHQUFXLE1BQU0sQ0FBQztBQUNiLFdBQU0sR0FBVyxNQUFNLENBQUMsSUFBSSxDQUFDO0FBQzdDLDBEQUEwRDtBQUMxQyxlQUFVLEdBQWtCLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7QUFXdEYsTUFBTSxPQUFPLEtBQU0sU0FBUSxXQUFXO0lBWXBDLFlBQW9CLFFBQWdCLEVBQVUsR0FBVyxFQUFVLFVBQWtCO1FBQ25GLEtBQUssRUFBRSxDQUFDO1FBRFUsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFRO0lBRXJGLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQW1CO1FBQy9CLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBZ0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXBGLGdDQUFnQztRQUNoQyxJQUFJLFNBQVMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUMvQixPQUFPLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JDLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQzs7QUF4Qk0sVUFBSSxHQUFXLE9BQU8sQ0FBQztBQUNkLFlBQU0sR0FBVyxNQUFNLENBQUMsS0FBSyxDQUFDO0FBRTlDLHVDQUF1QztBQUN2QixnQkFBVSxHQUFrQjtJQUMxQyxXQUFXLENBQUMsS0FBSztJQUNqQixXQUFXLENBQUMsS0FBSztJQUNqQixXQUFXLENBQUMsTUFBTTtJQUNsQixXQUFXLENBQUMsTUFBTTtDQUNuQixDQUFDO0FBa0JKLE1BQU0sT0FBTyxZQUFhLFNBQVEsV0FBVztJQU0zQyxZQUFvQixHQUFXO1FBQzdCLEtBQUssRUFBRSxDQUFDO1FBRFUsUUFBRyxHQUFILEdBQUcsQ0FBUTtJQUUvQixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFtQjtRQUMvQixPQUFPLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN6RSxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ3JDLENBQUM7O0FBWmUsaUJBQUksR0FBVyxjQUFjLENBQUM7QUFDOUIsbUJBQU0sR0FBVyxNQUFNLENBQUMsWUFBWSxDQUFDO0FBQ3JELDBEQUEwRDtBQUMxQyx1QkFBVSxHQUFrQixDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBWXRGLE1BQU0sT0FBTyxjQUFlLFNBQVEsV0FBVztJQU03QztRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBbUI7UUFDL0IsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNoRSxJQUFJLFVBQVUsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM3QixNQUFNLElBQUkseUJBQXlCLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUNwRSxDQUFDO1FBQ0QsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLEdBQUcsVUFBVSxDQUFDO0lBQ3ZDLENBQUM7O0FBZmUsbUJBQUksR0FBVyxnQkFBZ0IsQ0FBQztBQUNoQyxxQkFBTSxHQUFXLE1BQU0sQ0FBQyxjQUFjLENBQUM7QUFDdkQsMERBQTBEO0FBQzFDLHlCQUFVLEdBQWtCLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDIn0=
|
|
@@ -10,10 +10,11 @@ export declare class Call extends Instruction {
|
|
|
10
10
|
private retOffset;
|
|
11
11
|
private retSize;
|
|
12
12
|
private successOffset;
|
|
13
|
+
private temporaryFunctionSelectorOffset;
|
|
13
14
|
static type: string;
|
|
14
15
|
static readonly opcode: Opcode;
|
|
15
16
|
static readonly wireFormat: OperandType[];
|
|
16
|
-
constructor(indirect: number, _gasOffset: number, addrOffset: number, argsOffset: number, argsSize: number, retOffset: number, retSize: number, successOffset: number);
|
|
17
|
+
constructor(indirect: number, _gasOffset: number, addrOffset: number, argsOffset: number, argsSize: number, retOffset: number, retSize: number, successOffset: number, temporaryFunctionSelectorOffset: number);
|
|
17
18
|
execute(context: AvmContext): Promise<void>;
|
|
18
19
|
}
|
|
19
20
|
export declare class StaticCall extends Instruction {
|
|
@@ -25,10 +26,31 @@ export declare class StaticCall extends Instruction {
|
|
|
25
26
|
private retOffset;
|
|
26
27
|
private retSize;
|
|
27
28
|
private successOffset;
|
|
29
|
+
private temporaryFunctionSelectorOffset;
|
|
28
30
|
static type: string;
|
|
29
31
|
static readonly opcode: Opcode;
|
|
30
32
|
static readonly wireFormat: OperandType[];
|
|
31
|
-
constructor(indirect: number, _gasOffset: number, addrOffset: number, argsOffset: number, argsSize: number, retOffset: number, retSize: number, successOffset: number);
|
|
33
|
+
constructor(indirect: number, _gasOffset: number, addrOffset: number, argsOffset: number, argsSize: number, retOffset: number, retSize: number, successOffset: number, temporaryFunctionSelectorOffset: number);
|
|
34
|
+
execute(context: AvmContext): Promise<void>;
|
|
35
|
+
}
|
|
36
|
+
export declare class Return extends Instruction {
|
|
37
|
+
private indirect;
|
|
38
|
+
private returnOffset;
|
|
39
|
+
private copySize;
|
|
40
|
+
static type: string;
|
|
41
|
+
static readonly opcode: Opcode;
|
|
42
|
+
static readonly wireFormat: OperandType[];
|
|
43
|
+
constructor(indirect: number, returnOffset: number, copySize: number);
|
|
44
|
+
execute(context: AvmContext): Promise<void>;
|
|
45
|
+
}
|
|
46
|
+
export declare class Revert extends Instruction {
|
|
47
|
+
private indirect;
|
|
48
|
+
private returnOffset;
|
|
49
|
+
private retSize;
|
|
50
|
+
static type: string;
|
|
51
|
+
static readonly opcode: Opcode;
|
|
52
|
+
static readonly wireFormat: OperandType[];
|
|
53
|
+
constructor(indirect: number, returnOffset: number, retSize: number);
|
|
32
54
|
execute(context: AvmContext): Promise<void>;
|
|
33
55
|
}
|
|
34
56
|
//# sourceMappingURL=external_calls.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external_calls.d.ts","sourceRoot":"","sources":["../../../src/avm/opcodes/external_calls.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;
|
|
1
|
+
{"version":3,"file":"external_calls.d.ts","sourceRoot":"","sources":["../../../src/avm/opcodes/external_calls.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Field } from '../avm_memory_types.js';
|
|
1
|
+
import { FunctionSelector } from '@aztec/circuits.js';
|
|
2
|
+
import { Field, Uint8 } from '../avm_memory_types.js';
|
|
3
3
|
import { AvmSimulator } from '../avm_simulator.js';
|
|
4
4
|
import { Opcode, OperandType } from '../serialization/instruction_serialization.js';
|
|
5
|
+
import { Addressing } from './addressing_mode.js';
|
|
5
6
|
import { Instruction } from './instruction.js';
|
|
6
7
|
export class Call extends Instruction {
|
|
7
|
-
constructor(indirect, _gasOffset /* Unused due to no formal gas implementation at this moment */, addrOffset, argsOffset, argsSize, retOffset, retSize, successOffset
|
|
8
|
+
constructor(indirect, _gasOffset /* Unused due to no formal gas implementation at this moment */, addrOffset, argsOffset, argsSize, retOffset, retSize, successOffset,
|
|
9
|
+
// Function selector is temporary since eventually public contract bytecode will be one blob
|
|
10
|
+
// containing all functions, and function selector will become an application-level mechanism
|
|
11
|
+
// (e.g. first few bytes of calldata + compiler-generated jump table)
|
|
12
|
+
temporaryFunctionSelectorOffset) {
|
|
8
13
|
super();
|
|
9
14
|
this.indirect = indirect;
|
|
10
15
|
this._gasOffset = _gasOffset;
|
|
@@ -14,20 +19,23 @@ export class Call extends Instruction {
|
|
|
14
19
|
this.retOffset = retOffset;
|
|
15
20
|
this.retSize = retSize;
|
|
16
21
|
this.successOffset = successOffset;
|
|
22
|
+
this.temporaryFunctionSelectorOffset = temporaryFunctionSelectorOffset;
|
|
17
23
|
}
|
|
18
24
|
// TODO(https://github.com/AztecProtocol/aztec-packages/issues/3992): there is no concept of remaining / available gas at this moment
|
|
19
25
|
async execute(context) {
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const
|
|
26
|
+
const [_gasOffset, addrOffset, argsOffset, retOffset, successOffset] = Addressing.fromWire(this.indirect).resolve([this._gasOffset, this.addrOffset, this.argsOffset, this.retOffset, this.successOffset], context.machineState.memory);
|
|
27
|
+
const callAddress = context.machineState.memory.getAs(addrOffset);
|
|
28
|
+
const calldata = context.machineState.memory.getSlice(argsOffset, this.argsSize).map(f => f.toFr());
|
|
29
|
+
const functionSelector = context.machineState.memory.getAs(this.temporaryFunctionSelectorOffset).toFr();
|
|
30
|
+
const nestedContext = context.createNestedContractCallContext(callAddress.toFr(), calldata, FunctionSelector.fromField(functionSelector));
|
|
23
31
|
const nestedCallResults = await new AvmSimulator(nestedContext).execute();
|
|
24
32
|
const success = !nestedCallResults.reverted;
|
|
25
33
|
// We only take as much data as was specified in the return size -> TODO: should we be reverting here
|
|
26
34
|
const returnData = nestedCallResults.output.slice(0, this.retSize);
|
|
27
35
|
const convertedReturnData = returnData.map(f => new Field(f));
|
|
28
36
|
// Write our return data into memory
|
|
29
|
-
context.machineState.memory.set(
|
|
30
|
-
context.machineState.memory.setSlice(
|
|
37
|
+
context.machineState.memory.set(successOffset, new Uint8(success ? 1 : 0));
|
|
38
|
+
context.machineState.memory.setSlice(retOffset, convertedReturnData);
|
|
31
39
|
if (success) {
|
|
32
40
|
context.persistableState.acceptNestedCallState(nestedContext.persistableState);
|
|
33
41
|
}
|
|
@@ -50,9 +58,11 @@ Call.wireFormat = [
|
|
|
50
58
|
OperandType.UINT32,
|
|
51
59
|
OperandType.UINT32,
|
|
52
60
|
OperandType.UINT32,
|
|
61
|
+
/* temporary function selector */
|
|
62
|
+
OperandType.UINT32,
|
|
53
63
|
];
|
|
54
64
|
export class StaticCall extends Instruction {
|
|
55
|
-
constructor(indirect, _gasOffset /* Unused due to no formal gas implementation at this moment */, addrOffset, argsOffset, argsSize, retOffset, retSize, successOffset) {
|
|
65
|
+
constructor(indirect, _gasOffset /* Unused due to no formal gas implementation at this moment */, addrOffset, argsOffset, argsSize, retOffset, retSize, successOffset, temporaryFunctionSelectorOffset) {
|
|
56
66
|
super();
|
|
57
67
|
this.indirect = indirect;
|
|
58
68
|
this._gasOffset = _gasOffset;
|
|
@@ -62,21 +72,22 @@ export class StaticCall extends Instruction {
|
|
|
62
72
|
this.retOffset = retOffset;
|
|
63
73
|
this.retSize = retSize;
|
|
64
74
|
this.successOffset = successOffset;
|
|
75
|
+
this.temporaryFunctionSelectorOffset = temporaryFunctionSelectorOffset;
|
|
65
76
|
}
|
|
66
77
|
async execute(context) {
|
|
67
|
-
const
|
|
68
|
-
const
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
const nestedContext = context.createNestedContractStaticCallContext(callAddress.toFr(), calldata);
|
|
78
|
+
const [_gasOffset, addrOffset, argsOffset, retOffset, successOffset] = Addressing.fromWire(this.indirect).resolve([this._gasOffset, this.addrOffset, this.argsOffset, this.retOffset, this.successOffset], context.machineState.memory);
|
|
79
|
+
const callAddress = context.machineState.memory.get(addrOffset);
|
|
80
|
+
const calldata = context.machineState.memory.getSlice(argsOffset, this.argsSize).map(f => f.toFr());
|
|
81
|
+
const functionSelector = context.machineState.memory.getAs(this.temporaryFunctionSelectorOffset).toFr();
|
|
82
|
+
const nestedContext = context.createNestedContractStaticCallContext(callAddress.toFr(), calldata, FunctionSelector.fromField(functionSelector));
|
|
72
83
|
const nestedCallResults = await new AvmSimulator(nestedContext).execute();
|
|
73
84
|
const success = !nestedCallResults.reverted;
|
|
74
85
|
// We only take as much data as was specified in the return size -> TODO: should we be reverting here
|
|
75
86
|
const returnData = nestedCallResults.output.slice(0, this.retSize);
|
|
76
87
|
const convertedReturnData = returnData.map(f => new Field(f));
|
|
77
88
|
// Write our return data into memory
|
|
78
|
-
context.machineState.memory.set(
|
|
79
|
-
context.machineState.memory.setSlice(
|
|
89
|
+
context.machineState.memory.set(successOffset, new Uint8(success ? 1 : 0));
|
|
90
|
+
context.machineState.memory.setSlice(retOffset, convertedReturnData);
|
|
80
91
|
if (success) {
|
|
81
92
|
context.persistableState.acceptNestedCallState(nestedContext.persistableState);
|
|
82
93
|
}
|
|
@@ -99,5 +110,51 @@ StaticCall.wireFormat = [
|
|
|
99
110
|
OperandType.UINT32,
|
|
100
111
|
OperandType.UINT32,
|
|
101
112
|
OperandType.UINT32,
|
|
113
|
+
/* temporary function selector */
|
|
114
|
+
OperandType.UINT32,
|
|
115
|
+
];
|
|
116
|
+
export class Return extends Instruction {
|
|
117
|
+
constructor(indirect, returnOffset, copySize) {
|
|
118
|
+
super();
|
|
119
|
+
this.indirect = indirect;
|
|
120
|
+
this.returnOffset = returnOffset;
|
|
121
|
+
this.copySize = copySize;
|
|
122
|
+
}
|
|
123
|
+
async execute(context) {
|
|
124
|
+
const output = context.machineState.memory.getSlice(this.returnOffset, this.copySize).map(word => word.toFr());
|
|
125
|
+
context.machineState.return(output);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
Return.type = 'RETURN';
|
|
129
|
+
Return.opcode = Opcode.RETURN;
|
|
130
|
+
// Informs (de)serialization. See Instruction.deserialize.
|
|
131
|
+
Return.wireFormat = [
|
|
132
|
+
OperandType.UINT8,
|
|
133
|
+
OperandType.UINT8,
|
|
134
|
+
OperandType.UINT32,
|
|
135
|
+
OperandType.UINT32,
|
|
136
|
+
];
|
|
137
|
+
export class Revert extends Instruction {
|
|
138
|
+
constructor(indirect, returnOffset, retSize) {
|
|
139
|
+
super();
|
|
140
|
+
this.indirect = indirect;
|
|
141
|
+
this.returnOffset = returnOffset;
|
|
142
|
+
this.retSize = retSize;
|
|
143
|
+
}
|
|
144
|
+
async execute(context) {
|
|
145
|
+
const output = context.machineState.memory
|
|
146
|
+
.getSlice(this.returnOffset, this.returnOffset + this.retSize)
|
|
147
|
+
.map(word => word.toFr());
|
|
148
|
+
context.machineState.revert(output);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
Revert.type = 'RETURN';
|
|
152
|
+
Revert.opcode = Opcode.REVERT;
|
|
153
|
+
// Informs (de)serialization. See Instruction.deserialize.
|
|
154
|
+
Revert.wireFormat = [
|
|
155
|
+
OperandType.UINT8,
|
|
156
|
+
OperandType.UINT8,
|
|
157
|
+
OperandType.UINT32,
|
|
158
|
+
OperandType.UINT32,
|
|
102
159
|
];
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWxfY2FsbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXZtL29wY29kZXMvZXh0ZXJuYWxfY2FsbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHdEQsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNwRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DLE1BQU0sT0FBTyxJQUFLLFNBQVEsV0FBVztJQWtCbkMsWUFDVSxRQUFnQixFQUNoQixVQUFrQixDQUFDLCtEQUErRCxFQUNsRixVQUFrQixFQUNsQixVQUFrQixFQUNsQixRQUFnQixFQUNoQixTQUFpQixFQUNqQixPQUFlLEVBQ2YsYUFBcUI7SUFDN0IsNEZBQTRGO0lBQzVGLDZGQUE2RjtJQUM3RixxRUFBcUU7SUFDN0QsK0JBQXVDO1FBRS9DLEtBQUssRUFBRSxDQUFDO1FBYkEsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUNoQixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ2xCLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDbEIsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUNsQixhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQ2hCLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDakIsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLGtCQUFhLEdBQWIsYUFBYSxDQUFRO1FBSXJCLG9DQUErQixHQUEvQiwrQkFBK0IsQ0FBUTtJQUdqRCxDQUFDO0lBRUQscUlBQXFJO0lBQ3JJLEtB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
|
|
@@ -65,8 +65,7 @@ export declare enum Opcode {
|
|
|
65
65
|
KECCAK = 57,
|
|
66
66
|
POSEIDON = 58,
|
|
67
67
|
SHA256 = 59,// temp - may be removed, but alot of contracts rely on it
|
|
68
|
-
PEDERSEN = 60
|
|
69
|
-
TOTAL_OPCODES_NUMBER = 61
|
|
68
|
+
PEDERSEN = 60
|
|
70
69
|
}
|
|
71
70
|
export declare enum OperandType {
|
|
72
71
|
UINT8 = 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instruction_serialization.d.ts","sourceRoot":"","sources":["../../../src/avm/serialization/instruction_serialization.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;GAGG;AACH,oBAAY,MAAM;
|
|
1
|
+
{"version":3,"file":"instruction_serialization.d.ts","sourceRoot":"","sources":["../../../src/avm/serialization/instruction_serialization.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;GAGG;AACH,oBAAY,MAAM;IAEhB,GAAG,IAAA;IACH,GAAG,IAAA;IACH,GAAG,IAAA;IACH,GAAG,IAAA;IACH,EAAE,IAAA;IACF,EAAE,IAAA;IACF,GAAG,IAAA;IACH,GAAG,IAAA;IACH,EAAE,IAAA;IACF,GAAG,IAAA;IACH,GAAG,KAAA;IACH,GAAG,KAAA;IACH,GAAG,KAAA;IACH,IAAI,KAAA;IAEJ,OAAO,KAAA;IACP,cAAc,KAAA;IACd,MAAM,KAAA;IACN,MAAM,KAAA;IACN,MAAM,KAAA;IACN,WAAW,KAAA;IACX,WAAW,KAAA;IACX,WAAW,KAAA;IACX,iBAAiB,KAAA;IACjB,OAAO,KAAA;IACP,OAAO,KAAA;IACP,WAAW,KAAA;IACX,SAAS,KAAA;IACT,QAAQ,KAAA;IACR,eAAe,KAAA;IACf,eAAe,KAAA;IACf,eAAe,KAAA;IACf,YAAY,KAAA;IAEZ,SAAS,KAAA;IACT,SAAS,KAAA;IACT,SAAS,KAAA;IAET,IAAI,KAAA;IACJ,KAAK,KAAA;IACL,YAAY,KAAA;IACZ,cAAc,KAAA;IAEd,GAAG,KAAA;IACH,GAAG,KAAA;IACH,IAAI,KAAA;IAEJ,KAAK,KAAA;IACL,MAAM,KAAA;IACN,cAAc,KAAA;IACd,YAAY,KAAA;IACZ,eAAe,KAAA;IACf,aAAa,KAAA;IACb,eAAe,KAAA;IACf,YAAY,KAAA;IACZ,kBAAkB,KAAA;IAClB,aAAa,KAAA;IAEb,IAAI,KAAA;IACJ,UAAU,KAAA;IACV,YAAY,KAAA;IACZ,MAAM,KAAA;IACN,MAAM,KAAA;IAEN,MAAM,KAAA;IACN,QAAQ,KAAA;IACR,MAAM,KAAA,CAAE,0DAA0D;IAClE,QAAQ,KAAA;CACT;AAMD,oBAAY,WAAW;IACrB,KAAK,IAAA;IACL,MAAM,IAAA;IACN,MAAM,IAAA;IACN,MAAM,IAAA;IACN,OAAO,IAAA;CACR;AAgCD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAcvG;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,MAAM,CAqBnE"}
|
|
@@ -6,6 +6,7 @@ import { BufferCursor } from './buffer_cursor.js';
|
|
|
6
6
|
*/
|
|
7
7
|
export var Opcode;
|
|
8
8
|
(function (Opcode) {
|
|
9
|
+
// Compute
|
|
9
10
|
Opcode[Opcode["ADD"] = 0] = "ADD";
|
|
10
11
|
Opcode[Opcode["SUB"] = 1] = "SUB";
|
|
11
12
|
Opcode[Opcode["MUL"] = 2] = "MUL";
|
|
@@ -20,6 +21,7 @@ export var Opcode;
|
|
|
20
21
|
Opcode[Opcode["SHL"] = 11] = "SHL";
|
|
21
22
|
Opcode[Opcode["SHR"] = 12] = "SHR";
|
|
22
23
|
Opcode[Opcode["CAST"] = 13] = "CAST";
|
|
24
|
+
// Execution environment
|
|
23
25
|
Opcode[Opcode["ADDRESS"] = 14] = "ADDRESS";
|
|
24
26
|
Opcode[Opcode["STORAGEADDRESS"] = 15] = "STORAGEADDRESS";
|
|
25
27
|
Opcode[Opcode["ORIGIN"] = 16] = "ORIGIN";
|
|
@@ -38,16 +40,20 @@ export var Opcode;
|
|
|
38
40
|
Opcode[Opcode["BLOCKL2GASLIMIT"] = 29] = "BLOCKL2GASLIMIT";
|
|
39
41
|
Opcode[Opcode["BLOCKDAGASLIMIT"] = 30] = "BLOCKDAGASLIMIT";
|
|
40
42
|
Opcode[Opcode["CALLDATACOPY"] = 31] = "CALLDATACOPY";
|
|
43
|
+
// Gas
|
|
41
44
|
Opcode[Opcode["L1GASLEFT"] = 32] = "L1GASLEFT";
|
|
42
45
|
Opcode[Opcode["L2GASLEFT"] = 33] = "L2GASLEFT";
|
|
43
46
|
Opcode[Opcode["DAGASLEFT"] = 34] = "DAGASLEFT";
|
|
47
|
+
// Control flow
|
|
44
48
|
Opcode[Opcode["JUMP"] = 35] = "JUMP";
|
|
45
49
|
Opcode[Opcode["JUMPI"] = 36] = "JUMPI";
|
|
46
50
|
Opcode[Opcode["INTERNALCALL"] = 37] = "INTERNALCALL";
|
|
47
51
|
Opcode[Opcode["INTERNALRETURN"] = 38] = "INTERNALRETURN";
|
|
52
|
+
// Memory
|
|
48
53
|
Opcode[Opcode["SET"] = 39] = "SET";
|
|
49
54
|
Opcode[Opcode["MOV"] = 40] = "MOV";
|
|
50
55
|
Opcode[Opcode["CMOV"] = 41] = "CMOV";
|
|
56
|
+
// World state
|
|
51
57
|
Opcode[Opcode["SLOAD"] = 42] = "SLOAD";
|
|
52
58
|
Opcode[Opcode["SSTORE"] = 43] = "SSTORE";
|
|
53
59
|
Opcode[Opcode["NOTEHASHEXISTS"] = 44] = "NOTEHASHEXISTS";
|
|
@@ -58,17 +64,17 @@ export var Opcode;
|
|
|
58
64
|
Opcode[Opcode["HEADERMEMBER"] = 49] = "HEADERMEMBER";
|
|
59
65
|
Opcode[Opcode["EMITUNENCRYPTEDLOG"] = 50] = "EMITUNENCRYPTEDLOG";
|
|
60
66
|
Opcode[Opcode["SENDL2TOL1MSG"] = 51] = "SENDL2TOL1MSG";
|
|
67
|
+
// External calls
|
|
61
68
|
Opcode[Opcode["CALL"] = 52] = "CALL";
|
|
62
69
|
Opcode[Opcode["STATICCALL"] = 53] = "STATICCALL";
|
|
63
70
|
Opcode[Opcode["DELEGATECALL"] = 54] = "DELEGATECALL";
|
|
64
71
|
Opcode[Opcode["RETURN"] = 55] = "RETURN";
|
|
65
72
|
Opcode[Opcode["REVERT"] = 56] = "REVERT";
|
|
73
|
+
// Gadgets
|
|
66
74
|
Opcode[Opcode["KECCAK"] = 57] = "KECCAK";
|
|
67
75
|
Opcode[Opcode["POSEIDON"] = 58] = "POSEIDON";
|
|
68
|
-
// Add new opcodes before this
|
|
69
76
|
Opcode[Opcode["SHA256"] = 59] = "SHA256";
|
|
70
77
|
Opcode[Opcode["PEDERSEN"] = 60] = "PEDERSEN";
|
|
71
|
-
Opcode[Opcode["TOTAL_OPCODES_NUMBER"] = 61] = "TOTAL_OPCODES_NUMBER";
|
|
72
78
|
})(Opcode || (Opcode = {}));
|
|
73
79
|
// Possible types for an instruction's operand in its wire format. (Keep in sync with CPP code.
|
|
74
80
|
// See vm/avm_trace/avm_deserialization.cpp)
|
|
@@ -151,4 +157,4 @@ export function serialize(operands, cls) {
|
|
|
151
157
|
}
|
|
152
158
|
return Buffer.concat(chunks);
|
|
153
159
|
}
|
|
154
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdHJ1Y3Rpb25fc2VyaWFsaXphdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdm0vc2VyaWFsaXphdGlvbi9pbnN0cnVjdGlvbl9zZXJpYWxpemF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLElBQUksTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRDs7O0dBR0c7QUFDSCxNQUFNLENBQU4sSUFBWSxNQXNFWDtBQXRFRCxXQUFZLE1BQU07SUFDaEIsVUFBVTtJQUNWLGlDQUFHLENBQUE7SUFDSCxpQ0FBRyxDQUFBO0lBQ0gsaUNBQUcsQ0FBQTtJQUNILGlDQUFHLENBQUE7SUFDSCwrQkFBRSxDQUFBO0lBQ0YsK0JBQUUsQ0FBQTtJQUNGLGlDQUFHLENBQUE7SUFDSCxpQ0FBRyxDQUFBO0lBQ0gsK0JBQUUsQ0FBQTtJQUNGLGlDQUFHLENBQUE7SUFDSCxrQ0FBRyxDQUFBO0lBQ0gsa0NBQUcsQ0FBQTtJQUNILGtDQUFHLENBQUE7SUFDSCxvQ0FBSSxDQUFBO0lBQ0osd0JBQXdCO0lBQ3hCLDBDQUFPLENBQUE7SUFDUCx3REFBYyxDQUFBO0lBQ2Qsd0NBQU0sQ0FBQTtJQUNOLHdDQUFNLENBQUE7SUFDTix3Q0FBTSxDQUFBO0lBQ04sa0RBQVcsQ0FBQTtJQUNYLGtEQUFXLENBQUE7SUFDWCxrREFBVyxDQUFBO0lBQ1gsOERBQWlCLENBQUE7SUFDakIsMENBQU8sQ0FBQTtJQUNQLDBDQUFPLENBQUE7SUFDUCxrREFBVyxDQUFBO0lBQ1gsOENBQVMsQ0FBQTtJQUNULDRDQUFRLENBQUE7SUFDUiwwREFBZSxDQUFBO0lBQ2YsMERBQWUsQ0FBQTtJQUNmLDBEQUFlLENBQUE7SUFDZixvREFBWSxDQUFBO0lBQ1osTUFBTTtJQUNOLDhDQUFTLENBQUE7SUFDVCw4Q0FBUyxDQUFBO0lBQ1QsOENB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"temporary_executor_migration.d.ts","sourceRoot":"","sources":["../../src/avm/temporary_executor_migration.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,eAAe,EAKhB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD;;;;;;;GAOG;AACH,wBAAgB,sCAAsC,CACpD,OAAO,EAAE,eAAe,EACxB,eAAe,EAAE,eAAe,GAC/B,uBAAuB,CAkBzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,eAAe,EAC1B,aAAa,EAAE,WAAW,EAC1B,MAAM,EAAE,sBAAsB,GAC7B,qBAAqB,
|
|
1
|
+
{"version":3,"file":"temporary_executor_migration.d.ts","sourceRoot":"","sources":["../../src/avm/temporary_executor_migration.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,eAAe,EAKhB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD;;;;;;;GAOG;AACH,wBAAgB,sCAAsC,CACpD,OAAO,EAAE,eAAe,EACxB,eAAe,EAAE,eAAe,GAC/B,uBAAuB,CAkBzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,eAAe,EAC1B,aAAa,EAAE,WAAW,EAC1B,MAAM,EAAE,sBAAsB,GAC7B,qBAAqB,CAqDvB"}
|
|
@@ -55,12 +55,14 @@ export function temporaryConvertAvmResults(execution, newWorldState, result) {
|
|
|
55
55
|
// Disabled.
|
|
56
56
|
const nestedExecutions = [];
|
|
57
57
|
const nullifierReadRequests = [];
|
|
58
|
+
const nullifierNonExistentReadRequests = [];
|
|
58
59
|
const newNullifiers = [];
|
|
59
60
|
const unencryptedLogs = FunctionL2Logs.empty();
|
|
60
61
|
const newL2ToL1Messages = newWorldState.newL1Messages.map(() => L2ToL1Message.empty());
|
|
61
62
|
return {
|
|
62
63
|
execution,
|
|
63
64
|
nullifierReadRequests,
|
|
65
|
+
nullifierNonExistentReadRequests,
|
|
64
66
|
newNoteHashes,
|
|
65
67
|
newL2ToL1Messages,
|
|
66
68
|
newNullifiers,
|
|
@@ -73,4 +75,4 @@ export function temporaryConvertAvmResults(execution, newWorldState, result) {
|
|
|
73
75
|
revertReason: result.revertReason ? createSimulationError(result.revertReason) : undefined,
|
|
74
76
|
};
|
|
75
77
|
}
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcG9yYXJ5X2V4ZWN1dG9yX21pZ3JhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hdm0vdGVtcG9yYXJ5X2V4ZWN1dG9yX21pZ3JhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw2RUFBNkU7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsNEJBQTRCLEVBRTVCLGFBQWEsRUFFYixVQUFVLEdBRVgsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFOUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFNUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFJekU7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSxzQ0FBc0MsQ0FDcEQsT0FBd0IsRUFDeEIsZUFBZ0M7SUFFaEMsMEdBQTBHO0lBQzFHLE9BQU8sSUFBSSx1QkFBdUIsQ0FDaEMsT0FBTyxDQUFDLGVBQWUsRUFDdkIsT0FBTyxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsRUFDMUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsZ0NBQWdDO0lBQy9ELE9BQU8sQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUM3QixPQUFPLENBQUMsV0FBVyxDQUFDLHFCQUFxQjtJQUN6QyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFO0lBQzFCLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUU7SUFDMUIsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRTtJQUMxQixzQkFBc0IsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQ2hDLGVBQWUsRUFDZixPQUFPLENBQUMsV0FBVyxDQUFDLFlBQVksRUFDaEMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxj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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client_execution_context.d.ts","sourceRoot":"","sources":["../../src/client/client_execution_context.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,SAAS,EACT,cAAc,EAGd,UAAU,EAEV,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,WAAW,
|
|
1
|
+
{"version":3,"file":"client_execution_context.d.ts","sourceRoot":"","sources":["../../src/client/client_execution_context.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,SAAS,EACT,cAAc,EAGd,UAAU,EAEV,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,WAAW,EAEX,gBAAgB,EAChB,MAAM,EACN,oCAAoC,EACpC,iBAAiB,EACjB,UAAU,EACV,SAAS,EACV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAwC,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAGrD,OAAO,EAAE,QAAQ,EAAiB,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGrE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,cAAc;;IAyBtD,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,YAAY;IAChD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,qHAAqH;IACrH,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM;IAC3C,yEAAyE;IACzE,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,WAAW,EAAE;IAC/C,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,IAAI;IACZ,SAAS,CAAC,GAAG;IArCf;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAqB;IACrC;;;;;;;;OAQG;IACH,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,eAAe,CAA0B;IACjD,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,2BAA2B,CAA2B;gBAGzC,eAAe,EAAE,YAAY,EAC/B,QAAQ,EAAE,EAAE,EACZ,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW;IACzC,qHAAqH;IAClG,gBAAgB,EAAE,MAAM;IAC3C,yEAAyE;IACtD,aAAa,EAAE,WAAW,EAAE,EAC9B,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,kBAAkB,EAC3B,EAAE,EAAE,QAAQ,EACd,KAAK,EAAE,QAAQ,EACxB,IAAI,EAAE,SAAS,EACb,GAAG,8CAAgE;IAO/E;;;;OAIG;IACI,iBAAiB,CAAC,GAAG,EAAE,WAAW;IAsBzC;;;;;;;;OAQG;IACI,sCAAsC,CAAC,oBAAoB,EAAE,UAAU,EAAE;IAWhF;;;OAGG;IACI,WAAW,IAAI,WAAW,EAAE;IAInC;;OAEG;IACI,gBAAgB;IAIvB;;OAEG;IACI,kBAAkB;IAIzB;;OAEG;IACI,mBAAmB;IAI1B;;OAEG;IACI,8BAA8B;IAIrC;;;OAGG;IACI,aAAa,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;IAI7C;;;;;;;;;;;;;;;;;;;OAmBG;IACU,QAAQ,CACnB,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAAE,EAClB,YAAY,EAAE,EAAE,EAAE,EAClB,iBAAiB,EAAE,MAAM,EAAE,EAC3B,MAAM,EAAE,MAAM,EAAE,EAChB,SAAS,EAAE,MAAM,EAAE,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,QAAQ,EAAE,CAAC;IAqCtB;;;;;;;;;OASG;IACI,iBAAiB,CAAC,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE;IAiB5F;;;;;OAKG;IACI,mBAAmB,CAAC,cAAc,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE;IAKhE;;;;;;;OAOG;IACI,gBAAgB,CAAC,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;IAQnH;;;OAGG;IACI,kBAAkB,CAAC,GAAG,EAAE,gBAAgB;IAkB/C;;;;;;;;;OASG;IACG,mBAAmB,CACvB,qBAAqB,EAAE,YAAY,EACnC,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,EAAE,EACZ,iBAAiB,EAAE,MAAM,EACzB,YAAY,EAAE,OAAO,EACrB,cAAc,EAAE,OAAO;IAmDzB;;;;;;;;;;OAUG;IACU,yBAAyB,CACpC,qBAAqB,EAAE,YAAY,EACnC,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,EAAE,EACZ,iBAAiB,EAAE,MAAM,EACzB,YAAY,EAAE,OAAO,EACrB,cAAc,EAAE,OAAO,GACtB,OAAO,CAAC,iBAAiB,CAAC;IAiC7B;;;;;;;;OAQG;YACW,iBAAiB;IAmB/B;;;;OAIG;IACU,WAAW,CAAC,gBAAgB,EAAE,EAAE,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;CAmBxF"}
|