@aztec/simulator 0.26.6 → 0.27.0
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/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/executor.d.ts +21 -0
- package/dest/public/executor.d.ts.map +1 -1
- package/dest/public/executor.js +87 -1
- 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/client/client_execution_context.ts +1 -13
- package/src/client/simulator.ts +1 -2
- package/src/public/executor.ts +99 -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdHJ1Y3Rpb25fc2VyaWFsaXphdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdm0vc2VyaWFsaXphdGlvbi9pbnN0cnVjdGlvbl9zZXJpYWxpemF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLElBQUksTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRDs7O0dBR0c7QUFDSCxNQUFNLENBQU4sSUFBWSxNQXNFWDtBQXRFRCxXQUFZLE1BQU07SUFDaEIsVUFBVTtJQUNWLGlDQUFHLENBQUE7SUFDSCxpQ0FBRyxDQUFBO0lBQ0gsaUNBQUcsQ0FBQTtJQUNILGlDQUFHLENBQUE7SUFDSCwrQkFBRSxDQUFBO0lBQ0YsK0JBQUUsQ0FBQTtJQUNGLGlDQUFHLENBQUE7SUFDSCxpQ0FBRyxDQUFBO0lBQ0gsK0JBQUUsQ0FBQTtJQUNGLGlDQUFHLENBQUE7SUFDSCxrQ0FBRyxDQUFBO0lBQ0gsa0NBQUcsQ0FBQTtJQUNILGtDQUFHLENBQUE7SUFDSCxvQ0FBSSxDQUFBO0lBQ0osd0JBQXdCO0lBQ3hCLDBDQUFPLENBQUE7SUFDUCx3REFBYyxDQUFBO0lBQ2Qsd0NBQU0sQ0FBQTtJQUNOLHdDQUFNLENBQUE7SUFDTix3Q0FBTSxDQUFBO0lBQ04sa0RBQVcsQ0FBQTtJQUNYLGtEQUFXLENBQUE7SUFDWCxrREFBVyxDQUFBO0lBQ1gsOERBQWlCLENBQUE7SUFDakIsMENBQU8sQ0FBQTtJQUNQLDBDQUFPLENBQUE7SUFDUCxrREFBVyxDQUFBO0lBQ1gsOENBQVMsQ0FBQTtJQUNULDRDQUFRLENBQUE7SUFDUiwwREFBZSxDQUFBO0lBQ2YsMERBQWUsQ0FBQTtJQUNmLDBEQUFlLENBQUE7SUFDZixvREFBWSxDQUFBO0lBQ1osTUFBTTtJQUNOLDhDQUFTLENBQUE7SUFDVCw4Q0FBUyxDQUFBO0lBQ1QsOENBQVMsQ0FBQTtJQUNULGVBQWU7SUFDZixvQ0FBSSxDQUFBO0lBQ0osc0NBQUssQ0FBQTtJQUNMLG9EQUFZLENBQUE7SUFDWix3REFBYyxDQUFBO0lBQ2QsU0FBUztJQUNULGtDQUFHLENBQUE7SUFDSCxrQ0FBRyxDQUFBO0lBQ0gsb0NBQUksQ0FBQTtJQUNKLGNBQWM7SUFDZCxzQ0FBSyxDQUFBO0lBQ0wsd0NBQU0sQ0FBQTtJQUNOLHdEQUFjLENBQUE7SUFDZCxvREFBWSxDQUFBO0lBQ1osMERBQWUsQ0FBQTtJQUNmLHNEQUFhLENBQUE7SUFDYiwwREFBZSxDQUFBO0lBQ2Ysb0RBQVksQ0FBQTtJQUNaLGdFQUFrQixDQUFBO0lBQ2xCLHNEQUFhLENBQUE7SUFDYixpQkFBaUI7SUFDakIsb0NBQUksQ0FBQTtJQUNKLGdEQUFVLENBQUE7SUFDVixvREFBWSxDQUFBO0lBQ1osd0NBQU0sQ0FBQTtJQUNOLHdDQUFNLENBQUE7SUFDTixVQUFVO0lBQ1Ysd0NBQU0sQ0FBQTtJQUNOLDRDQUFRLENBQUE7SUFDUix3Q0FBTSxDQUFBO0lBQ04sNENBQVEsQ0FBQTtBQUNWLENBQUMsRUF0RVcsTUFBTSxLQUFOLE1BQU0sUUFzRWpCO0FBRUQsK0ZBQStGO0FBQy9GLDRDQUE0QztBQUM1QyxvR0FBb0c7QUFDcEcsK0JBQStCO0FBQy9CLE1BQU0sQ0FBTixJQUFZLFdBTVg7QUFORCxXQUFZLFdBQVc7SUFDckIsK0NBQUssQ0FBQTtJQUNMLGlEQUFNLENBQUE7SUFDTixpREFBTSxDQUFBO0lBQ04saURBQU0sQ0FBQTtJQUNOLG1EQUFPLENBQUE7QUFDVCxDQUFDLEVBTlcsV0FBVyxLQUFYLFdBQVcsUUFNdEI7QUFLRCxxREFBcUQ7QUFDckQsTUFBTSxZQUFZLEdBQUcsSUFBSSxHQUFHLENBQWdFO0lBQzFGLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2pGLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3hGLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3hGLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzVGLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztDQUMvRCxDQUFDLENBQUM7QUFFSCxTQUFTLGVBQWU7SUFDdEIsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLElBQUksR0FBRyxHQUFXLEVBQUUsQ0FBQztJQUNyQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDcEMsR0FBRyxLQUFLLEVBQUUsQ0FBQztRQUNYLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFlLEtBQWE7SUFDbkQsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLEtBQUssSUFBSSxNQUFNLEdBQUcsVUFBVSxHQUFHLENBQUMsRUFBRSxNQUFNLElBQUksQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDeEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLEtBQUssS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FBQyxNQUE2QixFQUFFLFFBQXVCO0lBQ2hGLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUNyQixJQUFJLE1BQU0sWUFBWSxNQUFNLEVBQUUsQ0FBQztRQUM3QixNQUFNLEdBQUcsSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELEtBQUssTUFBTSxFQUFFLElBQUksUUFBUSxFQUFFLENBQUM7UUFDMUIsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFFLENBQUM7UUFDL0QsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN2RCxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxVQUFVLFNBQVMsQ0FBQyxRQUF1QixFQUFFLEdBQVE7SUFDekQsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO0lBRTVCLHNDQUFzQztJQUN0QyxNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEtBQUssU0FBUyxJQUFJLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQ2hGLE1BQU0sY0FBYyxHQUFVLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDOUUsTUFBTSxDQUNKLGNBQWMsQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDLE1BQU0sRUFDekMsT0FBTyxjQUFjLENBQUMsTUFBTSxvQkFBb0IsUUFBUSxDQUFDLE1BQU0sd0NBQXdDLENBQ3hHLENBQUM7SUFDRixNQUFNLFdBQVcsR0FBRyxjQUFxQyxDQUFDO0lBRTFELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDekMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNCLE1BQU0sQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFFLENBQUM7UUFDL0QsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDL0IsQ0FBQyJ9
|
|
@@ -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":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var _ClientExecutionContext_instances, _ClientExecutionContext_checkValidStaticCall;
|
|
2
2
|
import { __classPrivateFieldGet } from "tslib";
|
|
3
3
|
import { FunctionL2Logs, L1NotePayload, Note, TaggedNote, } from '@aztec/circuit-types';
|
|
4
|
-
import { CallContext,
|
|
4
|
+
import { CallContext, FunctionData, FunctionSelector, NoteHashReadRequestMembershipWitness, PublicCallRequest, TxContext, } from '@aztec/circuits.js';
|
|
5
5
|
import { computePublicDataTreeLeafSlot, computeUniqueCommitment, siloNoteHash } from '@aztec/circuits.js/hash';
|
|
6
6
|
import { countArgumentsSize } from '@aztec/foundation/abi';
|
|
7
7
|
import { Fr } from '@aztec/foundation/fields';
|
|
@@ -64,7 +64,6 @@ export class ClientExecutionContext extends ViewDataOracle {
|
|
|
64
64
|
* @returns The initial witness.
|
|
65
65
|
*/
|
|
66
66
|
getInitialWitness(abi) {
|
|
67
|
-
const contractDeploymentData = this.txContext.contractDeploymentData;
|
|
68
67
|
const argumentsSize = countArgumentsSize(abi);
|
|
69
68
|
const args = this.packedArgsCache.unpack(this.argsHash);
|
|
70
69
|
if (args.length !== argumentsSize) {
|
|
@@ -73,7 +72,6 @@ export class ClientExecutionContext extends ViewDataOracle {
|
|
|
73
72
|
const fields = [
|
|
74
73
|
...this.callContext.toFields(),
|
|
75
74
|
...this.historicalHeader.toFields(),
|
|
76
|
-
...contractDeploymentData.toFields(),
|
|
77
75
|
this.txContext.chainId,
|
|
78
76
|
this.txContext.version,
|
|
79
77
|
...args,
|
|
@@ -261,7 +259,7 @@ export class ClientExecutionContext extends ViewDataOracle {
|
|
|
261
259
|
isStaticCall = isStaticCall || this.callContext.isStaticCall;
|
|
262
260
|
const targetArtifact = await this.db.getFunctionArtifact(targetContractAddress, functionSelector);
|
|
263
261
|
const targetFunctionData = FunctionData.fromAbi(targetArtifact);
|
|
264
|
-
const derivedTxContext = new TxContext(false, false,
|
|
262
|
+
const derivedTxContext = new TxContext(false, false, this.txContext.chainId, this.txContext.version);
|
|
265
263
|
const derivedCallContext = await this.deriveCallContext(targetContractAddress, targetArtifact, sideEffectCounter, isDelegateCall, isStaticCall);
|
|
266
264
|
const context = new ClientExecutionContext(targetContractAddress, argsHash, derivedTxContext, derivedCallContext, this.historicalHeader, this.authWitnesses, this.packedArgsCache, this.noteCache, this.db, this.curve, this.node);
|
|
267
265
|
const childExecutionResult = await executePrivateFunction(context, targetArtifact, targetContractAddress, targetFunctionData);
|
|
@@ -313,7 +311,7 @@ export class ClientExecutionContext extends ViewDataOracle {
|
|
|
313
311
|
*/
|
|
314
312
|
async deriveCallContext(targetContractAddress, targetArtifact, startSideEffectCounter, isDelegateCall = false, isStaticCall = false) {
|
|
315
313
|
const portalContractAddress = await this.db.getPortalContractAddress(targetContractAddress);
|
|
316
|
-
return new CallContext(isDelegateCall ? this.callContext.msgSender : this.contractAddress, isDelegateCall ? this.contractAddress : targetContractAddress, portalContractAddress, FunctionSelector.fromNameAndParameters(targetArtifact.name, targetArtifact.parameters), isDelegateCall, isStaticCall,
|
|
314
|
+
return new CallContext(isDelegateCall ? this.callContext.msgSender : this.contractAddress, isDelegateCall ? this.contractAddress : targetContractAddress, portalContractAddress, FunctionSelector.fromNameAndParameters(targetArtifact.name, targetArtifact.parameters), isDelegateCall, isStaticCall, startSideEffectCounter);
|
|
317
315
|
}
|
|
318
316
|
/**
|
|
319
317
|
* Read the public storage data.
|
|
@@ -348,4 +346,4 @@ _ClientExecutionContext_instances = new WeakSet(), _ClientExecutionContext_check
|
|
|
348
346
|
throw new Error(`Static call cannot create new notes, emit L2->L1 messages or generate logs`);
|
|
349
347
|
}
|
|
350
348
|
};
|
|
351
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50X2V4ZWN1dGlvbl9jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9jbGllbnRfZXhlY3V0aW9uX2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBR0wsY0FBYyxFQUNkLGFBQWEsRUFDYixJQUFJLEVBRUosVUFBVSxHQUVYLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUNMLFdBQVcsRUFDWCxzQkFBc0IsRUFDdEIsWUFBWSxFQUNaLGdCQUFnQixFQUVoQixvQ0FBb0MsRUFDcEMsaUJBQWlCLEVBRWpCLFNBQVMsR0FDVixNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSx1QkFBdUIsRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRyxPQUFPLEVBQWlDLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFMUYsT0FBTyxFQUFFLEVBQUUsRUFBUyxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE9BQU8sRUFBWSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUszRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXZEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGNBQWM7SUF3QnhELFlBQ3FCLGVBQTZCLEVBQy9CLFFBQVksRUFDWixTQUFvQixFQUNwQixXQUF3QjtJQUN6QyxxSEFBcUg7SUFDbEcsZ0JBQXdCO0lBQzNDLHlFQUF5RTtJQUN0RCxhQUE0QixFQUM5QixlQUFnQyxFQUNoQyxTQUE2QixFQUMzQixFQUFZLEVBQ2Qs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
|
|
349
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50X2V4ZWN1dGlvbl9jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9jbGllbnRfZXhlY3V0aW9uX2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBR0wsY0FBYyxFQUNkLGFBQWEsRUFDYixJQUFJLEVBRUosVUFBVSxHQUVYLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUNMLFdBQVcsRUFDWCxZQUFZLEVBQ1osZ0JBQWdCLEVBRWhCLG9DQUFvQyxFQUNwQyxpQkFBaUIsRUFFakIsU0FBUyxHQUNWLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUFFLDZCQUE2QixFQUFFLHVCQUF1QixFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9HLE9BQU8sRUFBaUMsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRixPQUFPLEVBQUUsRUFBRSxFQUFTLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFMUQsT0FBTyxFQUFZLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsY0FBYztJQXdCeEQsWUFDcUIsZUFBNkIsRUFDL0IsUUFBWSxFQUNaLFNBQW9CLEVBQ3BCLFdBQXdCO0lBQ3pDLHFIQUFxSDtJQUNsRyxnQkFBd0I7SUFDM0MseUVBQXlFO0lBQ3RELGFBQTRCLEVBQzlCLGVBQWdDLEVBQ2hDLFNBQTZCLEVBQzNCLEVBQVksRUFDZCxLQUFlLEVBQ3hCLElB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulator.d.ts","sourceRoot":"","sources":["../../src/client/simulator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAGzF,OAAO,EAEL,iCAAiC,EAIlC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG9C,OAAO,EAAE,0BAA0B,EAAwB,MAAM,oBAAoB,CAAC;AAKtF,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAKxD;;GAEG;AACH,qBAAa,aAAa;IAIZ,OAAO,CAAC,EAAE;IAAY,OAAO,CAAC,IAAI;IAH9C,OAAO,CAAC,MAAM,CAAC,MAAM,CAAsC;IAC3D,OAAO,CAAC,GAAG,CAAc;gBAEL,EAAE,EAAE,QAAQ,EAAU,IAAI,EAAE,SAAS;IAIzD;;;;;;;;;;;;OAYG;WACW,SAAS,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAO9D;;;;;;;;OAQG;IACU,GAAG,CACd,OAAO,EAAE,kBAAkB,EAC3B,kBAAkB,EAAE,iCAAiC,EACrD,eAAe,EAAE,YAAY,EAC7B,qBAAqB,EAAE,UAAU,EACjC,SAAS,eAAoB,GAC5B,OAAO,CAAC,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"simulator.d.ts","sourceRoot":"","sources":["../../src/client/simulator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAGzF,OAAO,EAEL,iCAAiC,EAIlC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG9C,OAAO,EAAE,0BAA0B,EAAwB,MAAM,oBAAoB,CAAC;AAKtF,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAKxD;;GAEG;AACH,qBAAa,aAAa;IAIZ,OAAO,CAAC,EAAE;IAAY,OAAO,CAAC,IAAI;IAH9C,OAAO,CAAC,MAAM,CAAC,MAAM,CAAsC;IAC3D,OAAO,CAAC,GAAG,CAAc;gBAEL,EAAE,EAAE,QAAQ,EAAU,IAAI,EAAE,SAAS;IAIzD;;;;;;;;;;;;OAYG;WACW,SAAS,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAO9D;;;;;;;;OAQG;IACU,GAAG,CACd,OAAO,EAAE,kBAAkB,EAC3B,kBAAkB,EAAE,iCAAiC,EACrD,eAAe,EAAE,YAAY,EAC7B,qBAAqB,EAAE,UAAU,EACjC,SAAS,eAAoB,GAC5B,OAAO,CAAC,eAAe,CAAC;IAoD3B;;;;;;OAMG;IACU,gBAAgB,CAC3B,OAAO,EAAE,YAAY,EACrB,kBAAkB,EAAE,iCAAiC,EACrD,eAAe,EAAE,YAAY;IAqB/B;;;;;;;;OAQG;IACU,2BAA2B,CACtC,eAAe,EAAE,YAAY,EAC7B,KAAK,EAAE,EAAE,EACT,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,EAAE,EACd,IAAI,EAAE,IAAI;;;;;;IAiDZ;;;;;;;OAOG;IACU,oBAAoB,CAAC,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI;IAW5G;;;;;;;;OAQG;IACU,2BAA2B,CACtC,eAAe,EAAE,YAAY,EAC7B,KAAK,EAAE,EAAE,EACT,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,EAAE,EACd,IAAI,EAAE,IAAI;IAYZ;;;;;;;;OAQG;IACU,qBAAqB,CAChC,eAAe,EAAE,YAAY,EAC7B,KAAK,EAAE,EAAE,EACT,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,EAAE,EACd,IAAI,EAAE,IAAI;IAYZ;;;;;;;;OAQG;IACU,qBAAqB,CAChC,eAAe,EAAE,YAAY,EAC7B,KAAK,EAAE,EAAE,EACT,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,EAAE,EACd,IAAI,EAAE,IAAI;CAWb"}
|