@aztec/simulator 0.46.7 → 0.47.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.d.ts +1 -1
- package/dest/acvm/acvm.d.ts.map +1 -1
- package/dest/acvm/oracle/oracle.d.ts +4 -4
- package/dest/acvm/oracle/oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/oracle.js +10 -12
- package/dest/acvm/oracle/typed_oracle.d.ts +9 -6
- package/dest/acvm/oracle/typed_oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/typed_oracle.js +3 -3
- package/dest/acvm/serialize.d.ts +0 -11
- package/dest/acvm/serialize.d.ts.map +1 -1
- package/dest/acvm/serialize.js +1 -26
- package/dest/avm/avm_gas.d.ts.map +1 -1
- package/dest/avm/avm_gas.js +5 -1
- package/dest/avm/fixtures/index.d.ts +2 -1
- package/dest/avm/fixtures/index.d.ts.map +1 -1
- package/dest/avm/fixtures/index.js +5 -2
- package/dest/avm/opcodes/commitment.d.ts +16 -0
- package/dest/avm/opcodes/commitment.d.ts.map +1 -0
- package/dest/avm/opcodes/commitment.js +50 -0
- package/dest/avm/opcodes/hashing.d.ts +11 -0
- package/dest/avm/opcodes/hashing.d.ts.map +1 -1
- package/dest/avm/opcodes/hashing.js +42 -3
- package/dest/avm/serialization/bytecode_serialization.d.ts.map +1 -1
- package/dest/avm/serialization/bytecode_serialization.js +7 -2
- package/dest/avm/serialization/instruction_serialization.d.ts +4 -1
- package/dest/avm/serialization/instruction_serialization.d.ts.map +1 -1
- package/dest/avm/serialization/instruction_serialization.js +6 -2
- package/dest/client/client_execution_context.d.ts +17 -12
- package/dest/client/client_execution_context.d.ts.map +1 -1
- package/dest/client/client_execution_context.js +25 -31
- package/dest/client/execution_result.d.ts +12 -6
- package/dest/client/execution_result.d.ts.map +1 -1
- package/dest/client/execution_result.js +21 -8
- package/dest/mocks/fixtures.d.ts +5 -5
- package/dest/mocks/fixtures.d.ts.map +1 -1
- package/dest/mocks/fixtures.js +6 -9
- package/dest/providers/factory.d.ts +12 -0
- package/dest/providers/factory.d.ts.map +1 -0
- package/dest/providers/factory.js +27 -0
- package/dest/providers/index.d.ts +1 -0
- package/dest/providers/index.d.ts.map +1 -1
- package/dest/providers/index.js +2 -1
- package/dest/public/abstract_phase_manager.d.ts +4 -5
- package/dest/public/abstract_phase_manager.d.ts.map +1 -1
- package/dest/public/abstract_phase_manager.js +16 -83
- package/dest/public/execution.d.ts +8 -10
- package/dest/public/execution.d.ts.map +1 -1
- package/dest/public/execution.js +10 -1
- package/dest/public/executor.d.ts +2 -1
- package/dest/public/executor.d.ts.map +1 -1
- package/dest/public/executor.js +3 -3
- package/dest/public/index.d.ts +1 -1
- package/dest/public/index.d.ts.map +1 -1
- package/dest/public/index.js +1 -1
- package/dest/public/public_processor.d.ts +1 -1
- package/dest/public/public_processor.d.ts.map +1 -1
- package/dest/public/public_processor.js +9 -3
- package/dest/public/side_effect_trace.d.ts +1 -0
- package/dest/public/side_effect_trace.d.ts.map +1 -1
- package/dest/public/side_effect_trace.js +9 -9
- package/package.json +9 -9
- package/src/acvm/acvm.ts +1 -1
- package/src/acvm/oracle/oracle.ts +9 -7
- package/src/acvm/oracle/typed_oracle.ts +6 -10
- package/src/acvm/serialize.ts +0 -29
- package/src/avm/avm_gas.ts +4 -0
- package/src/avm/fixtures/index.ts +5 -1
- package/src/avm/opcodes/commitment.ts +66 -0
- package/src/avm/opcodes/hashing.ts +53 -2
- package/src/avm/serialization/bytecode_serialization.ts +6 -1
- package/src/avm/serialization/instruction_serialization.ts +4 -0
- package/src/client/client_execution_context.ts +34 -38
- package/src/client/execution_result.ts +25 -10
- package/src/mocks/fixtures.ts +13 -11
- package/src/providers/factory.ts +38 -0
- package/src/providers/index.ts +1 -0
- package/src/public/abstract_phase_manager.ts +22 -102
- package/src/public/execution.ts +30 -14
- package/src/public/executor.ts +4 -3
- package/src/public/index.ts +1 -1
- package/src/public/public_processor.ts +8 -5
- package/src/public/side_effect_trace.ts +13 -7
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { pedersenCommit } from '@aztec/foundation/crypto';
|
|
2
|
+
import { Field, TypeTag, Uint8 } from '../avm_memory_types.js';
|
|
3
|
+
import { Opcode, OperandType } from '../serialization/instruction_serialization.js';
|
|
4
|
+
import { Addressing } from './addressing_mode.js';
|
|
5
|
+
import { Instruction } from './instruction.js';
|
|
6
|
+
export class PedersenCommitment extends Instruction {
|
|
7
|
+
constructor(indirect, inputOffset, outputOffset, inputSizeOffset, genIndexOffset) {
|
|
8
|
+
super();
|
|
9
|
+
this.indirect = indirect;
|
|
10
|
+
this.inputOffset = inputOffset;
|
|
11
|
+
this.outputOffset = outputOffset;
|
|
12
|
+
this.inputSizeOffset = inputSizeOffset;
|
|
13
|
+
this.genIndexOffset = genIndexOffset;
|
|
14
|
+
}
|
|
15
|
+
async execute(context) {
|
|
16
|
+
const memory = context.machineState.memory.track(this.type);
|
|
17
|
+
const [inputOffset, outputOffset, inputSizeOffset, genIndexOffset] = Addressing.fromWire(this.indirect).resolve([this.inputOffset, this.outputOffset, this.inputSizeOffset, this.genIndexOffset], memory);
|
|
18
|
+
const inputSize = memory.get(inputSizeOffset).toNumber();
|
|
19
|
+
memory.checkTag(TypeTag.UINT32, inputSizeOffset);
|
|
20
|
+
const inputs = memory.getSlice(inputOffset, inputSize);
|
|
21
|
+
memory.checkTagsRange(TypeTag.FIELD, inputOffset, inputSize);
|
|
22
|
+
// Generator index not used for now since we dont utilise it in the pedersenCommit function
|
|
23
|
+
memory.checkTag(TypeTag.UINT32, genIndexOffset);
|
|
24
|
+
const memoryOperations = { reads: inputSize + 1, writes: 3, indirect: this.indirect };
|
|
25
|
+
context.machineState.consumeGas(this.gasCost(memoryOperations));
|
|
26
|
+
const inputBuffer = inputs.map(input => input.toBuffer());
|
|
27
|
+
// TODO: Add the generate index to the pedersenCommit function
|
|
28
|
+
const commitment = pedersenCommit(inputBuffer).map(f => new Field(f));
|
|
29
|
+
// The function doesnt include a flag if the output point is infinity, come back to this
|
|
30
|
+
// for now we just check if theyre zero - until we know how bb encodes them
|
|
31
|
+
const isInfinity = commitment[0].equals(new Field(0)) && commitment[1].equals(new Field(0));
|
|
32
|
+
memory.set(outputOffset, commitment[0]); // Field typed
|
|
33
|
+
memory.set(outputOffset + 1, commitment[1]); // Field typed
|
|
34
|
+
memory.set(outputOffset + 2, new Uint8(isInfinity ? 1 : 0)); // U8 typed
|
|
35
|
+
memory.assert(memoryOperations);
|
|
36
|
+
context.machineState.incrementPc();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
PedersenCommitment.type = 'PEDERSENCOMMITMENT';
|
|
40
|
+
PedersenCommitment.opcode = Opcode.PEDERSENCOMMITMENT;
|
|
41
|
+
// Informs (de)serialization. See Instruction.deserialize.
|
|
42
|
+
PedersenCommitment.wireFormat = [
|
|
43
|
+
OperandType.UINT8 /* Opcode */,
|
|
44
|
+
OperandType.UINT8 /* Indirect */,
|
|
45
|
+
OperandType.UINT32 /* Input Offset*/,
|
|
46
|
+
OperandType.UINT32 /* Dst Offset */,
|
|
47
|
+
OperandType.UINT32 /* Input Size Offset */,
|
|
48
|
+
OperandType.UINT32 /* Generator Index Offset */,
|
|
49
|
+
];
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWl0bWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdm0vb3Bjb2Rlcy9jb21taXRtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFL0MsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFdBQVc7SUFjakQsWUFDVSxRQUFnQixFQUNoQixXQUFtQixFQUNuQixZQUFvQixFQUNwQixlQUF1QixFQUN2QixjQUFzQjtRQUU5QixLQUFLLEVBQUUsQ0FBQztRQU5BLGFBQVEsR0FBUixRQUFRLENBQVE7UUFDaEIsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFDbkIsaUJBQVksR0FBWixZQUFZLENBQVE7UUFDcEIsb0JBQWUsR0FBZixlQUFlLENBQVE7UUFDdkIsbUJBQWMsR0FBZCxjQUFjLENBQVE7SUFHaEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBbUI7UUFDdEMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1RCxNQUFNLENBQUMsV0FBVyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsY0FBYyxDQUFDLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUM3RyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsRUFDaEYsTUFBTSxDQUNQLENBQUM7UUFFRixNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pELE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxlQUFlLENBQUMsQ0FBQztRQUVqRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN2RCxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRTdELDJGQUEyRjtRQUMzRixNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFFaEQsTUFBTSxnQkFBZ0IsR0FBRyxFQUFFLEtBQUssRUFBRSxTQUFTLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN0RixPQUFPLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztRQUVoRSxNQUFNLFdBQVcsR0FBYSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDcEUsOERBQThEO1FBQzlELE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLHdGQUF3RjtRQUN4RiwyRUFBMkU7UUFDM0UsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU1RixNQUFNLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWM7UUFDdkQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYztRQUMzRCxNQUFNLENBQUMsR0FBRyxDQUFDLFlBQVksR0FBRyxDQUFDLEVBQUUsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXO1FBRXhFLE1BQU0sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNoQyxPQUFPLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JDLENBQUM7O0FBdkRNLHVCQUFJLEdBQVcsb0JBQW9CLENBQUM7QUFDM0IseUJBQU0sR0FBVyxNQUFNLENBQUMsa0JBQWtCLENBQUM7QUFFM0QsMERBQTBEO0FBQzFDLDZCQUFVLEdBQWtCO0lBQzFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWTtJQUM5QixXQUFXLENBQUMsS0FBSyxDQUFDLGNBQWM7SUFDaEMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUI7SUFDcEMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0I7SUFDbkMsV0FBVyxDQUFDLE1BQU0sQ0FBQyx1QkFBdUI7SUFDMUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyw0QkFBNEI7Q0FDaEQsQ0FBQyJ9
|
|
@@ -23,6 +23,17 @@ export declare class Keccak extends Instruction {
|
|
|
23
23
|
constructor(indirect: number, dstOffset: number, messageOffset: number, messageSizeOffset: number);
|
|
24
24
|
execute(context: AvmContext): Promise<void>;
|
|
25
25
|
}
|
|
26
|
+
export declare class KeccakF1600 extends Instruction {
|
|
27
|
+
private indirect;
|
|
28
|
+
private dstOffset;
|
|
29
|
+
private stateOffset;
|
|
30
|
+
private stateSizeOffset;
|
|
31
|
+
static type: string;
|
|
32
|
+
static readonly opcode: Opcode;
|
|
33
|
+
static readonly wireFormat: OperandType[];
|
|
34
|
+
constructor(indirect: number, dstOffset: number, stateOffset: number, stateSizeOffset: number);
|
|
35
|
+
execute(context: AvmContext): Promise<void>;
|
|
36
|
+
}
|
|
26
37
|
export declare class Sha256 extends Instruction {
|
|
27
38
|
private indirect;
|
|
28
39
|
private dstOffset;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hashing.d.ts","sourceRoot":"","sources":["../../../src/avm/opcodes/hashing.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hashing.d.ts","sourceRoot":"","sources":["../../../src/avm/opcodes/hashing.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { keccak256, pedersenHash, poseidon2Permutation, sha256 } from '@aztec/foundation/crypto';
|
|
2
|
-
import {
|
|
1
|
+
import { keccak256, keccakf1600, pedersenHash, poseidon2Permutation, sha256 } from '@aztec/foundation/crypto';
|
|
2
|
+
import { strict as assert } from 'assert';
|
|
3
|
+
import { Field, TypeTag, Uint8, Uint64 } from '../avm_memory_types.js';
|
|
3
4
|
import { Opcode, OperandType } from '../serialization/instruction_serialization.js';
|
|
4
5
|
import { Addressing } from './addressing_mode.js';
|
|
5
6
|
import { Instruction } from './instruction.js';
|
|
@@ -69,6 +70,44 @@ Keccak.wireFormat = [
|
|
|
69
70
|
OperandType.UINT32,
|
|
70
71
|
OperandType.UINT32,
|
|
71
72
|
];
|
|
73
|
+
export class KeccakF1600 extends Instruction {
|
|
74
|
+
constructor(indirect, dstOffset, stateOffset,
|
|
75
|
+
// This is here for compatibility with the CPP side. Should be removed in both.
|
|
76
|
+
stateSizeOffset) {
|
|
77
|
+
super();
|
|
78
|
+
this.indirect = indirect;
|
|
79
|
+
this.dstOffset = dstOffset;
|
|
80
|
+
this.stateOffset = stateOffset;
|
|
81
|
+
this.stateSizeOffset = stateSizeOffset;
|
|
82
|
+
}
|
|
83
|
+
// pub fn keccakf1600(input: [u64; 25]) -> [u64; 25]
|
|
84
|
+
async execute(context) {
|
|
85
|
+
const memory = context.machineState.memory.track(this.type);
|
|
86
|
+
const [dstOffset, stateOffset, stateSizeOffset] = Addressing.fromWire(this.indirect).resolve([this.dstOffset, this.stateOffset, this.stateSizeOffset], memory);
|
|
87
|
+
memory.checkTag(TypeTag.UINT32, stateSizeOffset);
|
|
88
|
+
const stateSize = memory.get(stateSizeOffset).toNumber();
|
|
89
|
+
assert(stateSize === 25, 'Invalid state size for keccakf1600');
|
|
90
|
+
const memoryOperations = { reads: stateSize + 1, writes: 25, indirect: this.indirect };
|
|
91
|
+
context.machineState.consumeGas(this.gasCost(memoryOperations));
|
|
92
|
+
memory.checkTagsRange(TypeTag.UINT64, stateOffset, stateSize);
|
|
93
|
+
const stateData = memory.getSlice(stateOffset, stateSize).map(word => word.toBigInt());
|
|
94
|
+
const updatedState = keccakf1600(stateData);
|
|
95
|
+
const res = updatedState.map(word => new Uint64(word));
|
|
96
|
+
memory.setSlice(dstOffset, res);
|
|
97
|
+
memory.assert(memoryOperations);
|
|
98
|
+
context.machineState.incrementPc();
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
KeccakF1600.type = 'KECCAKF1600';
|
|
102
|
+
KeccakF1600.opcode = Opcode.KECCAKF1600;
|
|
103
|
+
// Informs (de)serialization. See Instruction.deserialize.
|
|
104
|
+
KeccakF1600.wireFormat = [
|
|
105
|
+
OperandType.UINT8,
|
|
106
|
+
OperandType.UINT8,
|
|
107
|
+
OperandType.UINT32,
|
|
108
|
+
OperandType.UINT32,
|
|
109
|
+
OperandType.UINT32,
|
|
110
|
+
];
|
|
72
111
|
export class Sha256 extends Instruction {
|
|
73
112
|
constructor(indirect, dstOffset, messageOffset, messageSizeOffset) {
|
|
74
113
|
super();
|
|
@@ -144,4 +183,4 @@ Pedersen.wireFormat = [
|
|
|
144
183
|
OperandType.UINT32,
|
|
145
184
|
OperandType.UINT32,
|
|
146
185
|
];
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzaGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdm0vb3Bjb2Rlcy9oYXNoaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR2pHLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDcEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUvQyxNQUFNLE9BQU8sU0FBVSxTQUFRLFdBQVc7SUFheEMsWUFBb0IsUUFBZ0IsRUFBVSxnQkFBd0IsRUFBVSxpQkFBeUI7UUFDdkcsS0FBSyxFQUFFLENBQUM7UUFEVSxhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQVUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFRO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFRO0lBRXpHLENBQUM7SUFFTSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQW1CO1FBQ3RDLE1BQU0sZ0JBQWdCLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzlHLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUQsT0FBTyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7UUFFaEUsTUFBTSxDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUMsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQzVFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUMvQyxNQUFNLENBQ1AsQ0FBQztRQUNGLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXZFLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNyRSxNQUFNLFdBQVcsR0FBRyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyRCxNQUFNLENBQUMsUUFBUSxDQUNiLFlBQVksRUFDWixXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDekMsQ0FBQztRQUVGLE1BQU0sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNoQyxPQUFPLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JDLENBQUM7O0FBcENNLGNBQUksR0FBVyxXQUFXLENBQUM7QUFDbEIsZ0JBQU0sR0FBVyxNQUFNLENBQUMsU0FBUyxDQUFDO0FBQ2xDLG1CQUFTLEdBQUcsQ0FBQyxDQUFDO0FBRTlCLDBEQUEwRDtBQUMxQyxvQkFBVSxHQUFrQjtJQUMxQyxXQUFXLENBQUMsS0FBSztJQUNqQixXQUFXLENBQUMsS0FBSztJQUNqQixXQUFXLENBQUMsTUFBTTtJQUNsQixXQUFXLENBQUMsTUFBTTtDQUNuQixDQUFDO0FBNkJKLE1BQU0sT0FBTyxNQUFPLFNBQVEsV0FBVztJQWFyQyxZQUNVLFFBQWdCLEVBQ2hCLFNBQWlCLEVBQ2pCLGFBQXFCLEVBQ3JCLGlCQUF5QjtRQUVqQyxLQUFLLEVBQUUsQ0FBQztRQUxBLGFBQVEsR0FBUixRQUFRLENBQVE7UUFDaEIsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUNqQixrQkFBYSxHQUFiLGFBQWEsQ0FBUTtRQUNyQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQVE7SUFHbkMsQ0FBQztJQUVELCtEQUErRDtJQUN4RCxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQW1CO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUQsTUFBTSxDQUFDLFNBQVMsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLENBQUMsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQzlGLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUM1RCxNQUFNLENBQ1AsQ0FBQztRQUNGLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQ25ELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM3RCxNQUFNLGdCQUFnQixHQUFHLEVBQUUsS0FBSyxFQUFFLFdBQVcsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pGLE9BQU8sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1FBRWhFLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFakUsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzVHLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUUxQyxvR0FBb0c7UUFDcEcsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDekQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFaEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckMsQ0FBQzs7QUE1Q00sV0FBSSxHQUFXLFFBQVEsQ0FBQztBQUNmLGFBQU0sR0FBVyxNQUFNLENBQUMsTUFBTSxDQUFDO0FBRS9DLDBEQUEwRDtBQUMxQyxpQkFBVSxHQUFrQjtJQUMxQyxXQUFXLENBQUMsS0FBSztJQUNqQixXQUFXLENBQUMsS0FBSztJQUNqQixXQUFXLENBQUMsTUFBTTtJQUNsQixXQUFXLENBQUMsTUFBTTtJQUNsQixXQUFXLENBQUMsTUFBTTtDQUNuQixDQUFDO0FBcUNKLE1BQU0sT0FBTyxNQUFPLFNBQVEsV0FBVztJQWFyQyxZQUNVLFFBQWdCLEVBQ2hCLFNBQWlCLEVBQ2pCLGFBQXFCLEVBQ3JCLGlCQUF5QjtRQUVqQyxLQUFLLEVBQUUsQ0FBQztRQUxBLGFBQVEsR0FBUixRQUFRLENBQVE7UUFDaEIsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUNqQixrQkFBYSxHQUFiLGFBQWEsQ0FBUTtRQUNyQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQVE7SUFHbkMsQ0FBQztJQUVELCtDQUErQztJQUN4QyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQW1CO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUQsTUFBTSxDQUFDLFNBQVMsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLENBQUMsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQzlGLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUM1RCxNQUFNLENBQ1AsQ0FBQztRQUNGLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQ25ELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM3RCxNQUFNLGdCQUFnQixHQUFHLEVBQUUsS0FBSyxFQUFFLFdBQVcsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pGLE9BQU8sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFakUsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzVHLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUV2QyxvR0FBb0c7UUFDcEcsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDekQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFaEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckMsQ0FBQzs7QUEzQ00sV0FBSSxHQUFXLFFBQVEsQ0FBQztBQUNmLGFBQU0sR0FBVyxNQUFNLENBQUMsTUFBTSxDQUFDO0FBRS9DLDBEQUEwRDtBQUMxQyxpQkFBVSxHQUFrQjtJQUMxQyxXQUFXLENBQUMsS0FBSztJQUNqQixXQUFXLENBQUMsS0FBSztJQUNqQixXQUFXLENBQUMsTUFBTTtJQUNsQixXQUFXLENBQUMsTUFBTTtJQUNsQixXQUFXLENBQUMsTUFBTTtDQUNuQixDQUFDO0FBb0NKLE1BQU0sT0FBTyxRQUFTLFNBQVEsV0FBVztJQWN2QyxZQUNVLFFBQWdCLEVBQ2hCLGNBQXNCLEVBQ3RCLFNBQWlCLEVBQ2pCLGFBQXFCLEVBQ3JCLGlCQUF5QjtRQUVqQyxLQUFLLEVBQUUsQ0FBQztRQU5BLGFBQVEsR0FBUixRQUFRLENBQVE7UUFDaEIsbUJBQWMsR0FBZCxjQUFjLENBQVE7UUFDdEIsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUNqQixrQkFBYSxHQUFiLGFBQWEsQ0FBUTtRQUNyQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQVE7SUFHbkMsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBbUI7UUFDdEMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1RCxNQUFNLENBQUMsY0FBYyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLENBQUMsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQzlHLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQ2pGLE1BQU0sQ0FDUCxDQUFDO1FBRUYsa0NBQWtDO1FBQ2xDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDL0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNyRSxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUNuRCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUU3RCxNQUFNLGdCQUFnQixHQUFHLEVBQUUsS0FBSyxFQUFFLFdBQVcsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3hGLE9BQU8sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1FBRWhFLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFakUsd0JBQXdCO1FBQ3hCLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDOUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUV2QyxNQUFNLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDaEMsT0FBTyxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQyxDQUFDOztBQWhETSxhQUFJLEdBQVcsVUFBVSxDQUFDO0FBQ2pCLGVBQU0sR0FBVyxNQUFNLENBQUMsUUFBUSxDQUFDO0FBRWpELDBEQUEwRDtBQUMxQyxtQkFBVSxHQUFrQjtJQUMxQyxXQUFXLENBQUMsS0FBSztJQUNqQixXQUFXLENBQUMsS0FBSztJQUNqQixXQUFXLENBQUMsTUFBTTtJQUNsQixXQUFXLENBQUMsTUFBTTtJQUNsQixXQUFXLENBQUMsTUFBTTtJQUNsQixXQUFXLENBQUMsTUFBTTtDQUNuQixDQUFDIn0=
|
|
186
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzaGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdm0vb3Bjb2Rlcy9oYXNoaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU5RyxPQUFPLEVBQUUsTUFBTSxJQUFJLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUcxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNwRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DLE1BQU0sT0FBTyxTQUFVLFNBQVEsV0FBVztJQWF4QyxZQUFvQixRQUFnQixFQUFVLGdCQUF3QixFQUFVLGlCQUF5QjtRQUN2RyxLQUFLLEVBQUUsQ0FBQztRQURVLGFBQVEsR0FBUixRQUFRLENBQVE7UUFBVSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQVE7UUFBVSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQVE7SUFFekcsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBbUI7UUFDdEMsTUFBTSxnQkFBZ0IsR0FBRyxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUcsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztR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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bytecode_serialization.d.ts","sourceRoot":"","sources":["../../../src/avm/serialization/bytecode_serialization.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"bytecode_serialization.d.ts","sourceRoot":"","sources":["../../../src/avm/serialization/bytecode_serialization.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAsDvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAExD,UAAU,yBAAyB;IACjC,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,GAAG,WAAW,CAAC;IACrD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;AA2FpE,UAAU,YAAY;IACpB,SAAS,IAAI,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,YAAY,EAAE,GAAG,MAAM,CAErE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,cAAc,GAAE,cAAkC,GACjD,WAAW,EAAE,CAiBf"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { PedersenCommitment } from '../opcodes/commitment.js';
|
|
1
2
|
import { DAGasLeft, L2GasLeft } from '../opcodes/context_getters.js';
|
|
2
3
|
import { EcAdd } from '../opcodes/ec_add.js';
|
|
3
|
-
import { Keccak, Pedersen, Poseidon2, Sha256 } from '../opcodes/hashing.js';
|
|
4
|
+
import { Keccak, KeccakF1600, Pedersen, Poseidon2, Sha256 } from '../opcodes/hashing.js';
|
|
4
5
|
import { Add, Address, And, BlockNumber, CMov, Call, CalldataCopy, Cast, ChainId, DebugLog, Div, EmitNoteHash, EmitNullifier, EmitUnencryptedLog, Eq, FeePerDAGas, FeePerL2Gas, FieldDiv, FunctionSelector, GetContractInstance, InternalCall, InternalReturn, Jump, JumpI, L1ToL2MessageExists, Lt, Lte, Mov, Mul, Not, NoteHashExists, NullifierExists, Or, Return, Revert, SLoad, SStore, SendL2ToL1Message, Sender, Set, Shl, Shr, StaticCall, StorageAddress, Sub, Timestamp, ToRadixLE, TransactionFee, Version, Xor, } from '../opcodes/index.js';
|
|
5
6
|
import { MultiScalarMul } from '../opcodes/multi_scalar_mul.js';
|
|
6
7
|
import { BufferCursor } from './buffer_cursor.js';
|
|
@@ -80,8 +81,12 @@ const INSTRUCTION_SET = () => new Map([
|
|
|
80
81
|
[Sha256.opcode, Sha256],
|
|
81
82
|
[Pedersen.opcode, Pedersen],
|
|
82
83
|
[MultiScalarMul.opcode, MultiScalarMul],
|
|
84
|
+
[PedersenCommitment.opcode, PedersenCommitment],
|
|
83
85
|
// Conversions
|
|
84
86
|
[ToRadixLE.opcode, ToRadixLE],
|
|
87
|
+
// Future Gadgets -- pending changes in noir
|
|
88
|
+
// SHA256COMPRESSION,
|
|
89
|
+
[KeccakF1600.opcode, KeccakF1600],
|
|
85
90
|
]);
|
|
86
91
|
/**
|
|
87
92
|
* Serializes an array of instructions to bytecode.
|
|
@@ -110,4 +115,4 @@ export function decodeFromBytecode(bytecode, instructionSet = INSTRUCTION_SET())
|
|
|
110
115
|
}
|
|
111
116
|
return instructions;
|
|
112
117
|
}
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnl0ZWNvZGVfc2VyaWFsaXphdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdm0vc2VyaWFsaXphdGlvbi9ieXRlY29kZV9zZXJpYWxpemF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlELE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDckUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFekYsT0FBTyxFQUNMLEdBQUcsRUFDSCxPQUFPLEVBQ1AsR0FBRyxFQUNILFdBQVcsRUFDWCxJQUFJLEVBQ0osSUFBSSxFQUNKLFlBQVksRUFDWixJQUFJLEVBQ0osT0FBTyxFQUNQLFFBQVEsRUFDUixHQUFHLEVBQ0gsWUFBWSxFQUNaLGFBQWEsRUFDYixrQkFBa0IsRUFDbEIsRUFBRSxFQUNGLFdBQVcsRUFDWCxXQUFXLEVBQ1gsUUFBUSxFQUNSLGdCQUFnQixFQUNoQixtQkFBbUIsRUFDbkIsWUFBWSxFQUNaLGNBQWMsRUFDZCxJQUFJLEVBQ0osS0FBSyxFQUNMLG1CQUFtQixFQUNuQixFQUFFLEVBQ0YsR0FBRyxFQUNILEdBQUcsRUFDSCxHQUFHLEVBQ0gsR0FBRyxFQUNILGNBQWMsRUFDZCxlQUFlLEVBQ2YsRUFBRSxFQUNGLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsRUFDakIsTUFBTSxFQUNOLEdBQUcsRUFDSCxHQUFHLEVBQ0gsR0FBRyxFQUNILFVBQVUsRUFDVixjQUFjLEVBQ2QsR0FBRyxFQUNILFNBQVMsRUFDVCxTQUFTLEVBQ1QsY0FBYyxFQUNkLE9BQU8sRUFD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
|
|
@@ -67,7 +67,10 @@ export declare enum Opcode {
|
|
|
67
67
|
PEDERSEN = 59,// temp - may be removed, but alot of contracts rely on it
|
|
68
68
|
ECADD = 60,
|
|
69
69
|
MSM = 61,
|
|
70
|
-
|
|
70
|
+
PEDERSENCOMMITMENT = 62,
|
|
71
|
+
TORADIXLE = 63,
|
|
72
|
+
SHA256COMPRESSION = 64,
|
|
73
|
+
KECCAKF1600 = 65
|
|
71
74
|
}
|
|
72
75
|
export declare enum OperandType {
|
|
73
76
|
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;IAEhB,GAAG,IAAA;IACH,GAAG,IAAA;IACH,GAAG,IAAA;IACH,GAAG,IAAA;IACH,IAAI,IAAA;IACJ,EAAE,IAAA;IACF,EAAE,IAAA;IACF,GAAG,IAAA;IACH,GAAG,IAAA;IACH,EAAE,IAAA;IACF,GAAG,KAAA;IACH,GAAG,KAAA;IACH,GAAG,KAAA;IACH,GAAG,KAAA;IACH,IAAI,KAAA;IAEJ,OAAO,KAAA;IACP,cAAc,KAAA;IACd,MAAM,KAAA;IACN,gBAAgB,KAAA;IAChB,cAAc,KAAA;IACd,OAAO,KAAA;IACP,OAAO,KAAA;IACP,WAAW,KAAA;IACX,SAAS,KAAA;IACT,QAAQ,KAAA;IACR,WAAW,KAAA;IACX,WAAW,KAAA;IACX,eAAe,KAAA;IACf,eAAe,KAAA;IACf,YAAY,KAAA;IAEZ,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,mBAAmB,KAAA;IACnB,kBAAkB,KAAA;IAClB,aAAa,KAAA;IAEb,IAAI,KAAA;IACJ,UAAU,KAAA;IACV,YAAY,KAAA;IACZ,MAAM,KAAA;IACN,MAAM,KAAA;IAEN,QAAQ,KAAA;IAER,MAAM,KAAA;IACN,SAAS,KAAA;IACT,MAAM,KAAA,CAAE,0DAA0D;IAClE,QAAQ,KAAA,CAAE,0DAA0D;IACpE,KAAK,KAAA;IACL,GAAG,KAAA;
|
|
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,IAAI,IAAA;IACJ,EAAE,IAAA;IACF,EAAE,IAAA;IACF,GAAG,IAAA;IACH,GAAG,IAAA;IACH,EAAE,IAAA;IACF,GAAG,KAAA;IACH,GAAG,KAAA;IACH,GAAG,KAAA;IACH,GAAG,KAAA;IACH,IAAI,KAAA;IAEJ,OAAO,KAAA;IACP,cAAc,KAAA;IACd,MAAM,KAAA;IACN,gBAAgB,KAAA;IAChB,cAAc,KAAA;IACd,OAAO,KAAA;IACP,OAAO,KAAA;IACP,WAAW,KAAA;IACX,SAAS,KAAA;IACT,QAAQ,KAAA;IACR,WAAW,KAAA;IACX,WAAW,KAAA;IACX,eAAe,KAAA;IACf,eAAe,KAAA;IACf,YAAY,KAAA;IAEZ,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,mBAAmB,KAAA;IACnB,kBAAkB,KAAA;IAClB,aAAa,KAAA;IAEb,IAAI,KAAA;IACJ,UAAU,KAAA;IACV,YAAY,KAAA;IACZ,MAAM,KAAA;IACN,MAAM,KAAA;IAEN,QAAQ,KAAA;IAER,MAAM,KAAA;IACN,SAAS,KAAA;IACT,MAAM,KAAA,CAAE,0DAA0D;IAClE,QAAQ,KAAA,CAAE,0DAA0D;IACpE,KAAK,KAAA;IACL,GAAG,KAAA;IACH,kBAAkB,KAAA;IAElB,SAAS,KAAA;IAET,iBAAiB,KAAA;IACjB,WAAW,KAAA;CACZ;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"}
|
|
@@ -77,8 +77,12 @@ export var Opcode;
|
|
|
77
77
|
Opcode[Opcode["PEDERSEN"] = 59] = "PEDERSEN";
|
|
78
78
|
Opcode[Opcode["ECADD"] = 60] = "ECADD";
|
|
79
79
|
Opcode[Opcode["MSM"] = 61] = "MSM";
|
|
80
|
+
Opcode[Opcode["PEDERSENCOMMITMENT"] = 62] = "PEDERSENCOMMITMENT";
|
|
80
81
|
// Conversion
|
|
81
|
-
Opcode[Opcode["TORADIXLE"] =
|
|
82
|
+
Opcode[Opcode["TORADIXLE"] = 63] = "TORADIXLE";
|
|
83
|
+
// Future Gadgets -- pending changes in noir
|
|
84
|
+
Opcode[Opcode["SHA256COMPRESSION"] = 64] = "SHA256COMPRESSION";
|
|
85
|
+
Opcode[Opcode["KECCAKF1600"] = 65] = "KECCAKF1600";
|
|
82
86
|
})(Opcode || (Opcode = {}));
|
|
83
87
|
// Possible types for an instruction's operand in its wire format. (Keep in sync with CPP code.
|
|
84
88
|
// See vm/avm_trace/avm_deserialization.cpp)
|
|
@@ -161,4 +165,4 @@ export function serialize(operands, cls) {
|
|
|
161
165
|
}
|
|
162
166
|
return Buffer.concat(chunks);
|
|
163
167
|
}
|
|
164
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdHJ1Y3Rpb25fc2VyaWFsaXphdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdm0vc2VyaWFsaXphdGlvbi9pbnN0cnVjdGlvbl9zZXJpYWxpemF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLElBQUksTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRDs7O0dBR0c7QUFDSCxNQUFNLENBQU4sSUFBWSxNQThFWDtBQTlFRCxXQUFZLE1BQU07SUFDaEIsVUFBVTtJQUNWLGlDQUFHLENBQUE7SUFDSCxpQ0FBRyxDQUFBO0lBQ0gsaUNBQUcsQ0FBQTtJQUNILGlDQUFHLENBQUE7SUFDSCxtQ0FBSSxDQUFBO0lBQ0osK0JBQUUsQ0FBQTtJQUNGLCtCQUFFLENBQUE7SUFDRixpQ0FBRyxDQUFBO0lBQ0gsaUNBQUcsQ0FBQTtJQUNILCtCQUFFLENBQUE7SUFDRixrQ0FBRyxDQUFBO0lBQ0gsa0NBQUcsQ0FBQTtJQUNILGtDQUFHLENBQUE7SUFDSCxrQ0FBRyxDQUFBO0lBQ0gsb0NBQUksQ0FBQTtJQUNKLHdCQUF3QjtJQUN4QiwwQ0FBTyxDQUFBO0lBQ1Asd0RBQWMsQ0FBQTtJQUNkLHdDQUFNLENBQUE7SUFDTiw0REFBZ0IsQ0FBQTtJQUNoQix3REFBYyxDQUFBO0lBQ2QsMENBQU8sQ0FBQTtJQUNQLDBDQUFPLENBQUE7SUFDUCxrREFBVyxDQUFBO0lBQ1gsOENBQVMsQ0FBQTtJQUNULDRDQUFRLENBQUE7SUFDUixrREFBVyxDQUFBO0lBQ1gsa0RBQVcsQ0FBQTtJQUNYLDBEQUFlLENBQUE7SUFDZiwwREFBZSxDQUFBO0lBQ2Ysb0RBQVksQ0FBQTtJQUNaLE1BQU07SUFDTiw4Q0FBUyxDQUFBO0lBQ1QsOENBQVMsQ0FBQTtJQUNULGVBQWU7SUFDZixvQ0FBSSxDQUFBO0lBQ0osc0NBQUssQ0FB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
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
import { type AuthWitness, type AztecNode, EncryptedL2Log, type NoteStatus, type UnencryptedL2Log } from '@aztec/circuit-types';
|
|
3
|
-
import { CallContext, FunctionSelector, type Header, type KeyValidationRequest,
|
|
2
|
+
import { type AuthWitness, type AztecNode, EncryptedL2Log, type NoteStatus, PublicExecutionRequest, type UnencryptedL2Log } from '@aztec/circuit-types';
|
|
3
|
+
import { CallContext, FunctionSelector, type Header, type KeyValidationRequest, type TxContext } from '@aztec/circuits.js';
|
|
4
4
|
import { type FunctionAbi, type NoteSelector } from '@aztec/foundation/abi';
|
|
5
|
-
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
5
|
+
import { type AztecAddress } from '@aztec/foundation/aztec-address';
|
|
6
6
|
import { Fr, type Point } from '@aztec/foundation/fields';
|
|
7
7
|
import { type NoteData } from '../acvm/index.js';
|
|
8
8
|
import { type PackedValuesCache } from '../common/packed_values_cache.js';
|
|
9
9
|
import { type DBOracle } from './db_oracle.js';
|
|
10
10
|
import { type ExecutionNoteCache } from './execution_note_cache.js';
|
|
11
|
-
import { CountedLog, CountedNoteLog, type ExecutionResult, type NoteAndSlot } from './execution_result.js';
|
|
11
|
+
import { CountedLog, CountedNoteLog, CountedPublicExecutionRequest, type ExecutionResult, type NoteAndSlot } from './execution_result.js';
|
|
12
12
|
import { ViewDataOracle } from './view_data_oracle.js';
|
|
13
13
|
/**
|
|
14
14
|
* The execution context for a client tx simulation.
|
|
@@ -90,11 +90,11 @@ export declare class ClientExecutionContext extends ViewDataOracle {
|
|
|
90
90
|
/**
|
|
91
91
|
* Return the enqueued public function calls during this execution.
|
|
92
92
|
*/
|
|
93
|
-
getEnqueuedPublicFunctionCalls():
|
|
93
|
+
getEnqueuedPublicFunctionCalls(): CountedPublicExecutionRequest[];
|
|
94
94
|
/**
|
|
95
95
|
* Return the public teardown function call set during this execution.
|
|
96
96
|
*/
|
|
97
|
-
getPublicTeardownFunctionCall():
|
|
97
|
+
getPublicTeardownFunctionCall(): PublicExecutionRequest;
|
|
98
98
|
/**
|
|
99
99
|
* Pack the given array of arguments.
|
|
100
100
|
* @param args - Arguments to pack
|
|
@@ -171,9 +171,10 @@ export declare class ClientExecutionContext extends ViewDataOracle {
|
|
|
171
171
|
* @param eventTypeId - The type ID of the event (function selector).
|
|
172
172
|
* @param ovKeys - The outgoing viewing keys to use to encrypt.
|
|
173
173
|
* @param ivpkM - The master incoming viewing public key.
|
|
174
|
+
* @param recipient - The recipient of the encrypted event log.
|
|
174
175
|
* @param preimage - The event preimage.
|
|
175
176
|
*/
|
|
176
|
-
computeEncryptedEventLog(contractAddress: AztecAddress, randomness: Fr, eventTypeId: Fr, ovKeys: KeyValidationRequest, ivpkM: Point, preimage: Fr[]): Buffer;
|
|
177
|
+
computeEncryptedEventLog(contractAddress: AztecAddress, randomness: Fr, eventTypeId: Fr, ovKeys: KeyValidationRequest, ivpkM: Point, recipient: AztecAddress, preimage: Fr[]): Buffer;
|
|
177
178
|
/**
|
|
178
179
|
* Encrypt a note
|
|
179
180
|
* @param contractAddress - The contract address of the note.
|
|
@@ -181,9 +182,10 @@ export declare class ClientExecutionContext extends ViewDataOracle {
|
|
|
181
182
|
* @param noteTypeId - The type ID of the note.
|
|
182
183
|
* @param ovKeys - The outgoing viewing keys to use to encrypt.
|
|
183
184
|
* @param ivpkM - The master incoming viewing public key.
|
|
185
|
+
* @param recipient - The recipient of the encrypted note log.
|
|
184
186
|
* @param preimage - The note preimage.
|
|
185
187
|
*/
|
|
186
|
-
computeEncryptedNoteLog(contractAddress: AztecAddress, storageSlot: Fr, noteTypeId: NoteSelector, ovKeys: KeyValidationRequest, ivpkM: Point, preimage: Fr[]): Buffer;
|
|
188
|
+
computeEncryptedNoteLog(contractAddress: AztecAddress, storageSlot: Fr, noteTypeId: NoteSelector, ovKeys: KeyValidationRequest, ivpkM: Point, recipient: AztecAddress, preimage: Fr[]): Buffer;
|
|
187
189
|
/**
|
|
188
190
|
* Emit an unencrypted log.
|
|
189
191
|
* @param log - The unencrypted log to be emitted.
|
|
@@ -207,7 +209,10 @@ export declare class ClientExecutionContext extends ViewDataOracle {
|
|
|
207
209
|
* @param isDelegateCall - Whether the call is a delegate call.
|
|
208
210
|
* @returns The execution result.
|
|
209
211
|
*/
|
|
210
|
-
callPrivateFunction(targetContractAddress: AztecAddress, functionSelector: FunctionSelector, argsHash: Fr, sideEffectCounter: number, isStaticCall: boolean, isDelegateCall: boolean): Promise<
|
|
212
|
+
callPrivateFunction(targetContractAddress: AztecAddress, functionSelector: FunctionSelector, argsHash: Fr, sideEffectCounter: number, isStaticCall: boolean, isDelegateCall: boolean): Promise<{
|
|
213
|
+
endSideEffectCounter: Fr;
|
|
214
|
+
returnsHash: Fr;
|
|
215
|
+
}>;
|
|
211
216
|
/**
|
|
212
217
|
* Creates a PublicCallStackItem object representing the request to call a public function.
|
|
213
218
|
* @param targetContractAddress - The address of the contract to call.
|
|
@@ -217,7 +222,7 @@ export declare class ClientExecutionContext extends ViewDataOracle {
|
|
|
217
222
|
* @param isStaticCall - Whether the call is a static call.
|
|
218
223
|
* @returns The public call stack item with the request information.
|
|
219
224
|
*/
|
|
220
|
-
protected
|
|
225
|
+
protected createPublicExecutionRequest(callType: 'enqueued' | 'teardown', targetContractAddress: AztecAddress, functionSelector: FunctionSelector, argsHash: Fr, sideEffectCounter: number, isStaticCall: boolean, isDelegateCall: boolean): Promise<void>;
|
|
221
226
|
/**
|
|
222
227
|
* Creates and enqueues a PublicCallStackItem object representing the request to call a public function. No function
|
|
223
228
|
* is actually called, since that must happen on the sequencer side. All the fields related to the result
|
|
@@ -229,7 +234,7 @@ export declare class ClientExecutionContext extends ViewDataOracle {
|
|
|
229
234
|
* @param isStaticCall - Whether the call is a static call.
|
|
230
235
|
* @returns The public call stack item with the request information.
|
|
231
236
|
*/
|
|
232
|
-
enqueuePublicFunctionCall(targetContractAddress: AztecAddress, functionSelector: FunctionSelector, argsHash: Fr, sideEffectCounter: number, isStaticCall: boolean, isDelegateCall: boolean): Promise<
|
|
237
|
+
enqueuePublicFunctionCall(targetContractAddress: AztecAddress, functionSelector: FunctionSelector, argsHash: Fr, sideEffectCounter: number, isStaticCall: boolean, isDelegateCall: boolean): Promise<void>;
|
|
233
238
|
/**
|
|
234
239
|
* Creates a PublicCallStackItem and sets it as the public teardown function. No function
|
|
235
240
|
* is actually called, since that must happen on the sequencer side. All the fields related to the result
|
|
@@ -241,7 +246,7 @@ export declare class ClientExecutionContext extends ViewDataOracle {
|
|
|
241
246
|
* @param isStaticCall - Whether the call is a static call.
|
|
242
247
|
* @returns The public call stack item with the request information.
|
|
243
248
|
*/
|
|
244
|
-
setPublicTeardownFunctionCall(targetContractAddress: AztecAddress, functionSelector: FunctionSelector, argsHash: Fr, sideEffectCounter: number, isStaticCall: boolean, isDelegateCall: boolean): Promise<
|
|
249
|
+
setPublicTeardownFunctionCall(targetContractAddress: AztecAddress, functionSelector: FunctionSelector, argsHash: Fr, sideEffectCounter: number, isStaticCall: boolean, isDelegateCall: boolean): Promise<void>;
|
|
245
250
|
/**
|
|
246
251
|
* Derives the call context for a nested execution.
|
|
247
252
|
* @param targetContractAddress - The address of the contract being called.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client_execution_context.d.ts","sourceRoot":"","sources":["../../src/client/client_execution_context.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,cAAc,EAMd,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"client_execution_context.d.ts","sourceRoot":"","sources":["../../src/client/client_execution_context.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,cAAc,EAMd,KAAK,UAAU,EACf,sBAAsB,EAEtB,KAAK,gBAAgB,EACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,KAAK,MAAM,EACX,KAAK,oBAAoB,EAEzB,KAAK,SAAS,EACf,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAEL,KAAK,WAAW,EAEhB,KAAK,YAAY,EAElB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,EAAE,EAAkB,KAAK,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAG1E,OAAO,EAAE,KAAK,QAAQ,EAAiB,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EACL,UAAU,EACV,cAAc,EACd,6BAA6B,EAC7B,KAAK,eAAe,EACpB,KAAK,WAAW,EACjB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,cAAc;;IA6BtD,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;IAG3C,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAE1B,OAAO,CAAC,IAAI;IACZ,SAAS,CAAC,iBAAiB,EAAE,MAAM;IAvCrC;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAqB;IACrC;;;;;;;;OAQG;IACH,OAAO,CAAC,oBAAoB,CAAkC;IAC9D,OAAO,CAAC,yBAAyB,CAAkC;IACnE,OAAO,CAAC,iBAAiB,CAAwB;IACjD,OAAO,CAAC,aAAa,CAAoC;IACzD,OAAO,CAAC,eAAe,CAAsC;IAC7D,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,2BAA2B,CAAuC;IAC1E,OAAO,CAAC,0BAA0B,CAA0D;gBAG1F,eAAe,EAAE,YAAY,EACZ,QAAQ,EAAE,EAAE,EACZ,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW;IACzC,qHAAqH;IAClG,gBAAgB,EAAE,MAAM;IAC3C,yEAAyE;IACzE,aAAa,EAAE,WAAW,EAAE,EACX,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,kBAAkB,EAC9C,EAAE,EAAE,QAAQ,EACJ,IAAI,EAAE,SAAS,EACb,iBAAiB,GAAE,MAAU,EACvC,GAAG,yCAAgE;IAOrE;;;;OAIG;IACI,iBAAiB,CAAC,GAAG,EAAE,WAAW;IAoBzC;;;OAGG;IACI,uBAAuB;IAI9B;;;OAGG;IACI,WAAW,IAAI,WAAW,EAAE;IAI5B,4BAA4B;IAInC;;OAEG;IACI,oBAAoB;IAI3B;;OAEG;IACI,gBAAgB;IAIvB;;OAEG;IACI,kBAAkB;IAIzB;;OAEG;IACI,mBAAmB;IAI1B;;OAEG;IACI,8BAA8B;IAIrC;;OAEG;IACI,6BAA6B;IAIpC;;;OAGG;IACa,kBAAkB,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;IAI3D;;;OAGG;IACa,WAAW,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;IAIvD;;;OAGG;IACa,aAAa,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;IAI7D;;;;;;;;;;;;;;;;;;;OAmBG;IACmB,QAAQ,CAC5B,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EAAE,EACzB,eAAe,EAAE,MAAM,EAAE,EACzB,eAAe,EAAE,MAAM,EAAE,EACzB,YAAY,EAAE,EAAE,EAAE,EAClB,iBAAiB,EAAE,MAAM,EAAE,EAC3B,aAAa,EAAE,MAAM,EAAE,EACvB,aAAa,EAAE,MAAM,EAAE,EACvB,aAAa,EAAE,MAAM,EAAE,EACvB,SAAS,EAAE,MAAM,EAAE,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,QAAQ,EAAE,CAAC;IA0CtB;;;;;;;;;OASG;IACa,iBAAiB,CAC/B,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,YAAY,EACxB,SAAS,EAAE,EAAE,EAAE,EACf,aAAa,EAAE,EAAE,EACjB,OAAO,EAAE,MAAM;IAqBjB;;;;;OAKG;IACa,mBAAmB,CAAC,cAAc,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM;IAY1F;;;;;;OAMG;IACa,qBAAqB,CACnC,eAAe,EAAE,YAAY,EAC7B,UAAU,EAAE,EAAE,EACd,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM;IAYjB;;;;;OAKG;IACa,oBAAoB,CAAC,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAKpG;;;;;;;;;OASG;IACa,wBAAwB,CACtC,eAAe,EAAE,YAAY,EAC7B,UAAU,EAAE,EAAE,EACd,WAAW,EAAE,EAAE,EACf,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,YAAY,EACvB,QAAQ,EAAE,EAAE,EAAE;IAWhB;;;;;;;;;OASG;IACa,uBAAuB,CACrC,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,YAAY,EACxB,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,YAAY,EACvB,QAAQ,EAAE,EAAE,EAAE;IAWhB;;;OAGG;IACa,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM;IAMzE;;;;;;OAMG;IACa,+BAA+B,CAAC,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM;IAuBtF;;;;;;;;;OASG;IACY,mBAAmB,CAChC,qBAAqB,EAAE,YAAY,EACnC,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,EAAE,EACZ,iBAAiB,EAAE,MAAM,EACzB,YAAY,EAAE,OAAO,EACrB,cAAc,EAAE,OAAO;;;;IAqDzB;;;;;;;;OAQG;cACa,4BAA4B,CAC1C,QAAQ,EAAE,UAAU,GAAG,UAAU,EACjC,qBAAqB,EAAE,YAAY,EACnC,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,EAAE,EACZ,iBAAiB,EAAE,MAAM,EACzB,YAAY,EAAE,OAAO,EACrB,cAAc,EAAE,OAAO;IA4BzB;;;;;;;;;;OAUG;IACmB,yBAAyB,CAC7C,qBAAqB,EAAE,YAAY,EACnC,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,EAAE,EACZ,iBAAiB,EAAE,MAAM,EACzB,YAAY,EAAE,OAAO,EACrB,cAAc,EAAE,OAAO;IAazB;;;;;;;;;;OAUG;IACmB,6BAA6B,CACjD,qBAAqB,EAAE,YAAY,EACnC,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,EAAE,EACZ,iBAAiB,EAAE,MAAM,EACzB,YAAY,EAAE,OAAO,EACrB,cAAc,EAAE,OAAO;IAazB;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;IAezB;;;;;;OAMG;IACmB,WAAW,CAC/B,eAAe,EAAE,EAAE,EACnB,gBAAgB,EAAE,EAAE,EACpB,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,EAAE,EAAE,CAAC;IAeA,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAK/E,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;IAI/C,oBAAoB;CAG5B"}
|