@aztec/simulator 0.38.0 → 0.40.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/oracle/oracle.d.ts +3 -5
- package/dest/acvm/oracle/oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/oracle.js +13 -32
- package/dest/acvm/oracle/typed_oracle.d.ts +3 -3
- package/dest/acvm/oracle/typed_oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/typed_oracle.js +7 -7
- package/dest/avm/avm_execution_environment.d.ts +4 -3
- package/dest/avm/avm_execution_environment.d.ts.map +1 -1
- package/dest/avm/avm_execution_environment.js +17 -11
- package/dest/avm/avm_gas.d.ts.map +1 -1
- package/dest/avm/avm_gas.js +5 -1
- package/dest/avm/avm_machine_state.d.ts +5 -8
- package/dest/avm/avm_machine_state.d.ts.map +1 -1
- package/dest/avm/avm_machine_state.js +10 -22
- package/dest/avm/avm_message_call_result.d.ts +5 -8
- package/dest/avm/avm_message_call_result.d.ts.map +1 -1
- package/dest/avm/avm_message_call_result.js +1 -4
- package/dest/avm/avm_simulator.d.ts.map +1 -1
- package/dest/avm/avm_simulator.js +17 -13
- package/dest/avm/errors.d.ts +43 -2
- package/dest/avm/errors.d.ts.map +1 -1
- package/dest/avm/errors.js +86 -4
- package/dest/avm/journal/journal.d.ts.map +1 -1
- package/dest/avm/journal/journal.js +4 -3
- package/dest/avm/opcodes/conversion.d.ts +16 -0
- package/dest/avm/opcodes/conversion.d.ts.map +1 -0
- package/dest/avm/opcodes/conversion.js +48 -0
- package/dest/avm/opcodes/environment_getters.d.ts +12 -13
- package/dest/avm/opcodes/environment_getters.d.ts.map +1 -1
- package/dest/avm/opcodes/environment_getters.js +13 -49
- package/dest/avm/opcodes/external_calls.d.ts.map +1 -1
- package/dest/avm/opcodes/external_calls.js +11 -1
- package/dest/avm/opcodes/index.d.ts +2 -0
- package/dest/avm/opcodes/index.d.ts.map +1 -1
- package/dest/avm/opcodes/index.js +3 -1
- package/dest/avm/opcodes/misc.d.ts +17 -0
- package/dest/avm/opcodes/misc.d.ts.map +1 -0
- package/dest/avm/opcodes/misc.js +45 -0
- package/dest/avm/serialization/bytecode_serialization.d.ts.map +1 -1
- package/dest/avm/serialization/bytecode_serialization.js +6 -2
- package/dest/avm/serialization/instruction_serialization.d.ts +6 -4
- package/dest/avm/serialization/instruction_serialization.d.ts.map +1 -1
- package/dest/avm/serialization/instruction_serialization.js +9 -5
- package/dest/client/client_execution_context.d.ts +29 -1
- package/dest/client/client_execution_context.d.ts.map +1 -1
- package/dest/client/client_execution_context.js +54 -16
- package/dest/client/db_oracle.d.ts +1 -8
- package/dest/client/db_oracle.d.ts.map +1 -1
- package/dest/client/execution_result.d.ts +4 -1
- package/dest/client/execution_result.d.ts.map +1 -1
- package/dest/client/execution_result.js +16 -3
- package/dest/client/private_execution.d.ts.map +1 -1
- package/dest/client/private_execution.js +3 -1
- package/dest/client/simulator.d.ts +1 -31
- package/dest/client/simulator.d.ts.map +1 -1
- package/dest/client/simulator.js +3 -42
- package/dest/client/view_data_oracle.d.ts +0 -7
- package/dest/client/view_data_oracle.d.ts.map +1 -1
- package/dest/client/view_data_oracle.js +1 -10
- package/dest/common/errors.d.ts +5 -0
- package/dest/common/errors.d.ts.map +1 -1
- package/dest/common/errors.js +6 -1
- package/dest/index.d.ts +1 -0
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +2 -1
- package/dest/public/abstract_phase_manager.d.ts +8 -4
- package/dest/public/abstract_phase_manager.d.ts.map +1 -1
- package/dest/public/abstract_phase_manager.js +38 -14
- package/dest/public/app_logic_phase_manager.d.ts +1 -0
- package/dest/public/app_logic_phase_manager.d.ts.map +1 -1
- package/dest/public/app_logic_phase_manager.js +3 -3
- package/dest/public/executor.d.ts.map +1 -1
- package/dest/public/executor.js +1 -4
- package/dest/public/hints_builder.d.ts +3 -3
- package/dest/public/hints_builder.d.ts.map +1 -1
- package/dest/public/hints_builder.js +3 -3
- package/dest/public/public_execution_context.d.ts +1 -0
- package/dest/public/public_execution_context.d.ts.map +1 -1
- package/dest/public/public_execution_context.js +6 -2
- package/dest/public/public_processor.d.ts.map +1 -1
- package/dest/public/public_processor.js +5 -3
- package/dest/public/setup_phase_manager.d.ts +1 -0
- package/dest/public/setup_phase_manager.d.ts.map +1 -1
- package/dest/public/setup_phase_manager.js +3 -2
- package/dest/public/tail_phase_manager.d.ts +1 -0
- package/dest/public/tail_phase_manager.d.ts.map +1 -1
- package/dest/public/tail_phase_manager.js +2 -1
- package/dest/public/teardown_phase_manager.d.ts +1 -0
- package/dest/public/teardown_phase_manager.d.ts.map +1 -1
- package/dest/public/teardown_phase_manager.js +3 -2
- package/dest/public/transitional_adaptors.d.ts.map +1 -1
- package/dest/public/transitional_adaptors.js +1 -1
- package/dest/rollup/index.d.ts +2 -0
- package/dest/rollup/index.d.ts.map +1 -0
- package/dest/rollup/index.js +2 -0
- package/dest/rollup/rollup.d.ts +77 -0
- package/dest/rollup/rollup.d.ts.map +1 -0
- package/dest/rollup/rollup.js +78 -0
- package/dest/stats/index.d.ts +2 -0
- package/dest/stats/index.d.ts.map +1 -0
- package/dest/stats/index.js +2 -0
- package/dest/stats/stats.d.ts +4 -0
- package/dest/stats/stats.d.ts.map +1 -0
- package/dest/stats/stats.js +11 -0
- package/package.json +8 -8
- package/src/acvm/oracle/oracle.ts +27 -35
- package/src/acvm/oracle/typed_oracle.ts +16 -9
- package/src/avm/avm_execution_environment.ts +34 -42
- package/src/avm/avm_gas.ts +4 -0
- package/src/avm/avm_machine_state.ts +14 -25
- package/src/avm/avm_message_call_result.ts +3 -14
- package/src/avm/avm_simulator.ts +22 -12
- package/src/avm/errors.ts +94 -4
- package/src/avm/journal/journal.ts +3 -2
- package/src/avm/opcodes/conversion.ts +59 -0
- package/src/avm/opcodes/environment_getters.ts +13 -66
- package/src/avm/opcodes/external_calls.ts +11 -0
- package/src/avm/opcodes/index.ts +2 -0
- package/src/avm/opcodes/misc.ts +63 -0
- package/src/avm/serialization/bytecode_serialization.ts +7 -0
- package/src/avm/serialization/instruction_serialization.ts +4 -0
- package/src/client/client_execution_context.ts +92 -16
- package/src/client/db_oracle.ts +1 -9
- package/src/client/execution_result.ts +21 -2
- package/src/client/private_execution.ts +2 -0
- package/src/client/simulator.ts +2 -80
- package/src/client/view_data_oracle.ts +0 -10
- package/src/common/errors.ts +5 -0
- package/src/index.ts +1 -0
- package/src/public/abstract_phase_manager.ts +46 -18
- package/src/public/app_logic_phase_manager.ts +2 -1
- package/src/public/executor.ts +0 -4
- package/src/public/hints_builder.ts +5 -5
- package/src/public/public_execution_context.ts +6 -1
- package/src/public/public_processor.ts +8 -2
- package/src/public/setup_phase_manager.ts +16 -8
- package/src/public/tail_phase_manager.ts +6 -1
- package/src/public/teardown_phase_manager.ts +16 -8
- package/src/public/transitional_adaptors.ts +1 -0
- package/src/rollup/index.ts +1 -0
- package/src/rollup/rollup.ts +160 -0
- package/src/stats/index.ts +1 -0
- package/src/stats/stats.ts +20 -0
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
import { type Fr } from '@aztec/foundation/fields';
|
|
2
|
+
import { type AvmRevertReason } from './errors.js';
|
|
2
3
|
/**
|
|
3
4
|
* Results of an contract call's execution in the AVM.
|
|
4
5
|
*/
|
|
5
6
|
export declare class AvmContractCallResults {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
constructor(reverted: boolean, output: Fr[], revertReason?: Error);
|
|
11
|
-
/**
|
|
12
|
-
* Generate a string representation of call results.
|
|
13
|
-
*/
|
|
7
|
+
reverted: boolean;
|
|
8
|
+
output: Fr[];
|
|
9
|
+
revertReason?: AvmRevertReason | undefined;
|
|
10
|
+
constructor(reverted: boolean, output: Fr[], revertReason?: AvmRevertReason | undefined);
|
|
14
11
|
toString(): string;
|
|
15
12
|
}
|
|
16
13
|
//# sourceMappingURL=avm_message_call_result.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avm_message_call_result.d.ts","sourceRoot":"","sources":["../../src/avm/avm_message_call_result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAEnD;;GAEG;AACH,qBAAa,sBAAsB;
|
|
1
|
+
{"version":3,"file":"avm_message_call_result.d.ts","sourceRoot":"","sources":["../../src/avm/avm_message_call_result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;GAEG;AACH,qBAAa,sBAAsB;IACd,QAAQ,EAAE,OAAO;IAAS,MAAM,EAAE,EAAE,EAAE;IAAS,YAAY,CAAC;gBAA5D,QAAQ,EAAE,OAAO,EAAS,MAAM,EAAE,EAAE,EAAE,EAAS,YAAY,CAAC,6BAAiB;IAEhG,QAAQ,IAAI,MAAM;CAOnB"}
|
|
@@ -7,9 +7,6 @@ export class AvmContractCallResults {
|
|
|
7
7
|
this.output = output;
|
|
8
8
|
this.revertReason = revertReason;
|
|
9
9
|
}
|
|
10
|
-
/**
|
|
11
|
-
* Generate a string representation of call results.
|
|
12
|
-
*/
|
|
13
10
|
toString() {
|
|
14
11
|
let resultsStr = `reverted: ${this.reverted}, output: ${this.output}`;
|
|
15
12
|
if (this.revertReason) {
|
|
@@ -18,4 +15,4 @@ export class AvmContractCallResults {
|
|
|
18
15
|
return resultsStr;
|
|
19
16
|
}
|
|
20
17
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZtX21lc3NhZ2VfY2FsbF9yZXN1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXZtL2F2bV9tZXNzYWdlX2NhbGxfcmVzdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxZQUFtQixRQUFpQixFQUFTLE1BQVksRUFBUyxZQUE4QjtRQUE3RSxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBTTtRQUFTLGlCQUFZLEdBQVosWUFBWSxDQUFrQjtJQUFHLENBQUM7SUFFcEcsUUFBUTtRQUNOLElBQUksVUFBVSxHQUFHLGFBQWEsSUFBSSxDQUFDLFFBQVEsYUFBYSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdEUsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsVUFBVSxJQUFJLG1CQUFtQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdkQsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avm_simulator.d.ts","sourceRoot":"","sources":["../../src/avm/avm_simulator.ts"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"avm_simulator.d.ts","sourceRoot":"","sources":["../../src/avm/avm_simulator.ts"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAQtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,qBAAa,YAAY;IAGX,OAAO,CAAC,OAAO;IAF3B,OAAO,CAAC,GAAG,CAAc;gBAEL,OAAO,EAAE,UAAU;IAMvC;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAiBvD;;;OAGG;IACU,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAI/E;;;OAGG;IACU,mBAAmB,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAgD/F"}
|
|
@@ -2,7 +2,7 @@ import { createDebugLogger } from '@aztec/foundation/log';
|
|
|
2
2
|
import { strict as assert } from 'assert';
|
|
3
3
|
import { isAvmBytecode } from '../public/transitional_adaptors.js';
|
|
4
4
|
import { AvmContractCallResults } from './avm_message_call_result.js';
|
|
5
|
-
import { AvmExecutionError, InvalidProgramCounterError, NoBytecodeForContractError } from './errors.js';
|
|
5
|
+
import { AvmExecutionError, InvalidProgramCounterError, NoBytecodeForContractError, revertReasonFromExceptionalHalt, revertReasonFromExplicitRevert, } from './errors.js';
|
|
6
6
|
import { decodeFromBytecode } from './serialization/bytecode_serialization.js';
|
|
7
7
|
export class AvmSimulator {
|
|
8
8
|
constructor(context) {
|
|
@@ -40,7 +40,7 @@ export class AvmSimulator {
|
|
|
40
40
|
try {
|
|
41
41
|
// Execute instruction pointed to by the current program counter
|
|
42
42
|
// continuing until the machine state signifies a halt
|
|
43
|
-
while (!machineState.
|
|
43
|
+
while (!machineState.getHalted()) {
|
|
44
44
|
const instruction = instructions[machineState.pc];
|
|
45
45
|
assert(!!instruction, 'AVM attempted to execute non-existent instruction. This should never happen (invalid bytecode or AVM simulator bug)!');
|
|
46
46
|
const gasLeft = `l2=${machineState.l2GasLeft} da=${machineState.daGasLeft}`;
|
|
@@ -54,23 +54,27 @@ export class AvmSimulator {
|
|
|
54
54
|
throw new InvalidProgramCounterError(machineState.pc, /*max=*/ instructions.length);
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
|
|
58
|
-
const
|
|
57
|
+
const output = machineState.getOutput();
|
|
58
|
+
const reverted = machineState.getReverted();
|
|
59
|
+
const revertReason = reverted ? revertReasonFromExplicitRevert(output, this.context) : undefined;
|
|
60
|
+
const results = new AvmContractCallResults(reverted, output, revertReason);
|
|
59
61
|
this.log.debug(`Context execution results: ${results.toString()}`);
|
|
62
|
+
// Return results for processing by calling context
|
|
60
63
|
return results;
|
|
61
64
|
}
|
|
62
|
-
catch (
|
|
63
|
-
this.log.verbose('Exceptional halt');
|
|
64
|
-
if (!(
|
|
65
|
-
this.log.verbose(`Unknown error thrown by
|
|
66
|
-
throw
|
|
65
|
+
catch (err) {
|
|
66
|
+
this.log.verbose('Exceptional halt (revert by something other than REVERT opcode)');
|
|
67
|
+
if (!(err instanceof AvmExecutionError)) {
|
|
68
|
+
this.log.verbose(`Unknown error thrown by AVM: ${err}`);
|
|
69
|
+
throw err;
|
|
67
70
|
}
|
|
68
|
-
|
|
69
|
-
// Note: "exceptional halts" cannot return data
|
|
70
|
-
const results = new AvmContractCallResults(/*reverted=*/ true, /*output=*/ [],
|
|
71
|
+
const revertReason = revertReasonFromExceptionalHalt(err, this.context);
|
|
72
|
+
// Note: "exceptional halts" cannot return data, hence []
|
|
73
|
+
const results = new AvmContractCallResults(/*reverted=*/ true, /*output=*/ [], revertReason);
|
|
71
74
|
this.log.debug(`Context execution results: ${results.toString()}`);
|
|
75
|
+
// Return results for processing by calling context
|
|
72
76
|
return results;
|
|
73
77
|
}
|
|
74
78
|
}
|
|
75
79
|
}
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZtX3NpbXVsYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hdm0vYXZtX3NpbXVsYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFNUUsT0FBTyxFQUFFLE1BQU0sSUFBSSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRW5FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsMEJBQTBCLEVBQzFCLDBCQUEwQixFQUMxQiwrQkFBK0IsRUFDL0IsOEJBQThCLEdBQy9CLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRS9FLE1BQU0sT0FBTyxZQUFZO0lBR3ZCLFlBQW9CLE9BQW1CO1FBQW5CLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDckMsSUFBSSxDQUFDLEdBQUcsR0FBRyxpQkFBaUIsQ0FDMUIsOEJBQThCLE9BQU8sQ0FBQyxXQUFXLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FDMUYsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLHlCQUF5QixDQUFDO1FBQ3BFLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FDdEYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUNoQyxRQUFRLENBQ1QsQ0FBQztRQUVGLGtGQUFrRjtRQUNsRiw2Q0FBNkM7UUFDN0MsSUFB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
|
package/dest/avm/errors.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type FailingFunction, type NoirCallStack } from '@aztec/circuit-types';
|
|
2
|
+
import { type AztecAddress, type Fr } from '@aztec/circuits.js';
|
|
3
|
+
import { ExecutionError } from '../common/errors.js';
|
|
4
|
+
import { type AvmContext } from './avm_context.js';
|
|
2
5
|
/**
|
|
3
6
|
* Avm-specific errors should derive from this
|
|
4
7
|
*/
|
|
5
8
|
export declare abstract class AvmExecutionError extends Error {
|
|
6
|
-
constructor(message: string
|
|
9
|
+
constructor(message: string);
|
|
7
10
|
}
|
|
8
11
|
export declare class NoBytecodeForContractError extends AvmExecutionError {
|
|
9
12
|
constructor(contractAddress: AztecAddress);
|
|
@@ -33,4 +36,42 @@ export declare class TagCheckError extends AvmExecutionError {
|
|
|
33
36
|
export declare class OutOfGasError extends AvmExecutionError {
|
|
34
37
|
constructor(dimensions: string[]);
|
|
35
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Error thrown to propagate a nested call's revert.
|
|
41
|
+
* @param message - the error's message
|
|
42
|
+
* @param nestedError - the revert reason of the nested call
|
|
43
|
+
*/
|
|
44
|
+
export declare class RethrownError extends AvmExecutionError {
|
|
45
|
+
nestedError: AvmRevertReason;
|
|
46
|
+
constructor(message: string, nestedError: AvmRevertReason);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Meaningfully named alias for ExecutionError when used in the context of the AVM.
|
|
50
|
+
* Maintains a recursive structure reflecting the AVM's external callstack/errorstack, where
|
|
51
|
+
* options.cause is the error that caused this error (if this is not the root-cause itself).
|
|
52
|
+
*/
|
|
53
|
+
export declare class AvmRevertReason extends ExecutionError {
|
|
54
|
+
constructor(message: string, failingFunction: FailingFunction, noirCallStack: NoirCallStack, options?: ErrorOptions);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Create a "revert reason" error for an exceptional halt,
|
|
58
|
+
* creating the recursive structure if the halt was a RethrownError.
|
|
59
|
+
*
|
|
60
|
+
* @param haltingError - the lower-level error causing the exceptional halt
|
|
61
|
+
* @param context - the context of the AVM execution used to extract the failingFunction and noirCallStack
|
|
62
|
+
*/
|
|
63
|
+
export declare function revertReasonFromExceptionalHalt(haltingError: AvmExecutionError, context: AvmContext): AvmRevertReason;
|
|
64
|
+
/**
|
|
65
|
+
* Create a "revert reason" error for an explicit revert (a root cause).
|
|
66
|
+
*
|
|
67
|
+
* @param revertData - output data of the explicit REVERT instruction
|
|
68
|
+
* @param context - the context of the AVM execution used to extract the failingFunction and noirCallStack
|
|
69
|
+
*/
|
|
70
|
+
export declare function revertReasonFromExplicitRevert(revertData: Fr[], context: AvmContext): AvmRevertReason;
|
|
71
|
+
/**
|
|
72
|
+
* Interpret revert data as a message string.
|
|
73
|
+
*
|
|
74
|
+
* @param revertData - output data of an explicit REVERT instruction
|
|
75
|
+
*/
|
|
76
|
+
export declare function decodeRevertDataAsMessage(revertData: Fr[]): string;
|
|
36
77
|
//# sourceMappingURL=errors.d.ts.map
|
package/dest/avm/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/avm/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/avm/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;GAEG;AACH,8BAAsB,iBAAkB,SAAQ,KAAK;gBACvC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,0BAA2B,SAAQ,iBAAiB;gBACnD,eAAe,EAAE,YAAY;CAI1C;AAED;;;GAGG;AACH,qBAAa,0BAA2B,SAAQ,iBAAiB;gBACnD,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;CAIpC;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,iBAAiB;gBAClD,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,iBAAiB;WACpC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,aAAa;WAI7E,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,aAAa;gBAI5D,OAAO,EAAE,MAAM;CAI5B;AAED,oCAAoC;AACpC,qBAAa,aAAc,SAAQ,iBAAiB;gBACtC,UAAU,EAAE,MAAM,EAAE;CAIjC;AAED;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,iBAAiB;IACd,WAAW,EAAE,eAAe;gBAApD,OAAO,EAAE,MAAM,EAAS,WAAW,EAAE,eAAe;CAIjE;AAED;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,cAAc;gBACrC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,YAAY;CAGpH;AAqBD;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAAC,YAAY,EAAE,iBAAiB,EAAE,OAAO,EAAE,UAAU,GAAG,eAAe,CAIrH;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,GAAG,eAAe,CAGrG;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,EAAE,EAAE,GAAG,MAAM,CAalE"}
|
package/dest/avm/errors.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import { ExecutionError } from '../common/errors.js';
|
|
1
2
|
/**
|
|
2
3
|
* Avm-specific errors should derive from this
|
|
3
4
|
*/
|
|
4
5
|
export class AvmExecutionError extends Error {
|
|
5
|
-
constructor(message
|
|
6
|
-
super(message
|
|
7
|
-
this.name = '
|
|
6
|
+
constructor(message) {
|
|
7
|
+
super(message);
|
|
8
|
+
this.name = 'AvmExecutionError';
|
|
8
9
|
}
|
|
9
10
|
}
|
|
10
11
|
export class NoBytecodeForContractError extends AvmExecutionError {
|
|
@@ -54,4 +55,85 @@ export class OutOfGasError extends AvmExecutionError {
|
|
|
54
55
|
this.name = 'OutOfGasError';
|
|
55
56
|
}
|
|
56
57
|
}
|
|
57
|
-
|
|
58
|
+
/**
|
|
59
|
+
* Error thrown to propagate a nested call's revert.
|
|
60
|
+
* @param message - the error's message
|
|
61
|
+
* @param nestedError - the revert reason of the nested call
|
|
62
|
+
*/
|
|
63
|
+
export class RethrownError extends AvmExecutionError {
|
|
64
|
+
constructor(message, nestedError) {
|
|
65
|
+
super(message);
|
|
66
|
+
this.nestedError = nestedError;
|
|
67
|
+
this.name = 'RethrownError';
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Meaningfully named alias for ExecutionError when used in the context of the AVM.
|
|
72
|
+
* Maintains a recursive structure reflecting the AVM's external callstack/errorstack, where
|
|
73
|
+
* options.cause is the error that caused this error (if this is not the root-cause itself).
|
|
74
|
+
*/
|
|
75
|
+
export class AvmRevertReason extends ExecutionError {
|
|
76
|
+
constructor(message, failingFunction, noirCallStack, options) {
|
|
77
|
+
super(message, failingFunction, noirCallStack, options);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Helper to create a "revert reason" error optionally with a nested error cause.
|
|
82
|
+
*
|
|
83
|
+
* @param message - the error message
|
|
84
|
+
* @param context - the context of the AVM execution used to extract the failingFunction and noirCallStack
|
|
85
|
+
* @param nestedError - the error that caused this one (if this is not the root-cause itself)
|
|
86
|
+
*/
|
|
87
|
+
function createRevertReason(message, context, nestedError) {
|
|
88
|
+
return new AvmRevertReason(message,
|
|
89
|
+
/*failingFunction=*/ {
|
|
90
|
+
contractAddress: context.environment.address,
|
|
91
|
+
functionSelector: context.environment.temporaryFunctionSelector,
|
|
92
|
+
},
|
|
93
|
+
/*noirCallStack=*/ [...context.machineState.internalCallStack, context.machineState.pc].map(pc => `0.${pc}`),
|
|
94
|
+
/*options=*/ { cause: nestedError });
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Create a "revert reason" error for an exceptional halt,
|
|
98
|
+
* creating the recursive structure if the halt was a RethrownError.
|
|
99
|
+
*
|
|
100
|
+
* @param haltingError - the lower-level error causing the exceptional halt
|
|
101
|
+
* @param context - the context of the AVM execution used to extract the failingFunction and noirCallStack
|
|
102
|
+
*/
|
|
103
|
+
export function revertReasonFromExceptionalHalt(haltingError, context) {
|
|
104
|
+
// A RethrownError has a nested/child AvmRevertReason
|
|
105
|
+
const nestedError = haltingError instanceof RethrownError ? haltingError.nestedError : undefined;
|
|
106
|
+
return createRevertReason(haltingError.message, context, nestedError);
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Create a "revert reason" error for an explicit revert (a root cause).
|
|
110
|
+
*
|
|
111
|
+
* @param revertData - output data of the explicit REVERT instruction
|
|
112
|
+
* @param context - the context of the AVM execution used to extract the failingFunction and noirCallStack
|
|
113
|
+
*/
|
|
114
|
+
export function revertReasonFromExplicitRevert(revertData, context) {
|
|
115
|
+
const revertMessage = decodeRevertDataAsMessage(revertData);
|
|
116
|
+
return createRevertReason(revertMessage, context);
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Interpret revert data as a message string.
|
|
120
|
+
*
|
|
121
|
+
* @param revertData - output data of an explicit REVERT instruction
|
|
122
|
+
*/
|
|
123
|
+
export function decodeRevertDataAsMessage(revertData) {
|
|
124
|
+
if (revertData.length === 0) {
|
|
125
|
+
return 'Assertion failed.';
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
try {
|
|
129
|
+
// We remove the first element which is the 'error selector'.
|
|
130
|
+
const revertOutput = revertData.slice(1);
|
|
131
|
+
// Try to interpret the output as a text string.
|
|
132
|
+
return 'Assertion failed: ' + String.fromCharCode(...revertOutput.map(fr => fr.toNumber()));
|
|
133
|
+
}
|
|
134
|
+
catch (e) {
|
|
135
|
+
return 'Assertion failed: <cannot interpret as string>';
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F2bS9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR3JEOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixpQkFBa0IsU0FBUSxLQUFLO0lBQ25ELFlBQVksT0FBZTtRQUN6QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLG1CQUFtQixDQUFDO0lBQ2xDLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTywwQkFBMkIsU0FBUSxpQkFBaUI7SUFDL0QsWUFBWSxlQUE2QjtRQUN2QyxLQUFLLENBQUMseUJBQXlCLGVBQWUsRUFBRSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLElBQUksR0FBRyxpQ0FBaUMsQ0FBQztJQUNoRCxDQUFDO0NBQ0Y7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsaUJBQWlCO0lBQy9ELFlBQVksRUFBVSxFQUFFLEdBQVc7UUFDakMsS0FBSyxDQUFDLDJCQUEyQixFQUFFLFlBQVksR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsSUFBSSxHQUFHLDRCQUE0QixDQUFDO0lBQzNDLENBQUM7Q0FDRjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGlCQUFpQjtJQUM5RCxZQUFZLE9BQWU7UUFDekIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRywyQkFBMkIsQ0FBQztJQUMxQyxDQUFDO0NBQ0Y7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyxhQUFjLFNBQVEsaUJBQWlCO0lBQzNDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBYyxFQUFFLE1BQWMsRUFBRSxXQUFtQjtRQUN6RSxPQUFPLElBQUksYUFBYSxDQUFDLDBCQUEwQixNQUFN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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journal.d.ts","sourceRoot":"","sources":["../../../src/avm/journal/journal.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAEL,mBAAmB,EACnB,4BAA4B,EAC5B,UAAU,EACV,aAAa,EACb,QAAQ,EACR,SAAS,EACT,WAAW,EACX,UAAU,EACX,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG9C,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC5B,MAAM,kBAAkB,CAAC;AAG1B;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,aAAa,EAAE,wBAAwB,EAAE,CAAC;IAC1C,YAAY,EAAE,uBAAuB,EAAE,CAAC;IAExC,cAAc,EAAE,mBAAmB,EAAE,CAAC;IACtC,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC,eAAe,EAAE,oBAAoB,EAAE,CAAC;IACxC,aAAa,EAAE,eAAe,EAAE,CAAC;IACjC,mBAAmB,EAAE,wBAAwB,EAAE,CAAC;IAEhD,aAAa,EAAE,aAAa,EAAE,CAAC;IAC/B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,aAAa,EAAE,sBAAsB,EAAE,CAAC;IACxC,yCAAyC;IACzC,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;IAElD,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAGF,KAAK,4BAA4B,GAAG;IAClC,qBAAqB,EAAE,WAAW,EAAE,CAAC;IACrC,gCAAgC,EAAE,WAAW,EAAE,CAAC;IAChD,aAAa,EAAE,QAAQ,EAAE,CAAC;IAC1B,iBAAiB,EAAE,aAAa,EAAE,CAAC;IACnC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,aAAa,EAAE,SAAS,EAAE,CAAC;IAC3B,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC5C,6BAA6B,EAAE,4BAA4B,EAAE,CAAC;IAC9D,qBAAqB,EAAE,UAAU,EAAE,CAAC;IACpC,eAAe,EAAE,gBAAgB,EAAE,CAAC;IACpC,6BAA6B,EAAE,EAAE,CAAC;IAClC,kBAAkB,EAAE,gBAAgB,EAAE,CAAC;IACvC,gBAAgB,EAAE,qBAAqB,EAAE,CAAC;CAC3C,CAAC;AAEF;;;;;;;;GAQG;AACH,qBAAa,0BAA0B;IACrC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAuE;IAC3F,gCAAgC;IAChC,SAAgB,WAAW,EAAE,WAAW,CAAC;IAGzC,kBAAkB;IAClB,8CAA8C;IACvC,aAAa,EAAE,aAAa,CAAC;IACpC,kEAAkE;IAC3D,UAAU,EAAE,UAAU,CAAC;IAE9B,+BAA+B;IACxB,KAAK,EAAE,qBAAqB,CAAC;IAEpC,wBAAwB;IACjB,aAAa,EAAE,aAAa,EAAE,CAAM;IACpC,OAAO,EAAE,gBAAgB,EAAE,CAAM;IAGjC,2BAA2B,EAAE,4BAA4B,CAAC;gBAErD,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,0BAA0B;
|
|
1
|
+
{"version":3,"file":"journal.d.ts","sourceRoot":"","sources":["../../../src/avm/journal/journal.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,7 +37,8 @@ export class AvmPersistableStateManager {
|
|
|
37
37
|
contractStorageUpdateRequests: [],
|
|
38
38
|
unencryptedLogsHashes: [],
|
|
39
39
|
unencryptedLogs: [],
|
|
40
|
-
|
|
40
|
+
// The length starts at 4 because it will always include the size.
|
|
41
|
+
unencryptedLogPreimagesLength: new Fr(4),
|
|
41
42
|
allUnencryptedLogs: [],
|
|
42
43
|
nestedExecutions: [],
|
|
43
44
|
};
|
|
@@ -171,7 +172,7 @@ export class AvmPersistableStateManager {
|
|
|
171
172
|
writeL1Message(recipient, content) {
|
|
172
173
|
this.log.debug(`L1Messages(${recipient}) += ${content}.`);
|
|
173
174
|
const recipientAddress = recipient instanceof EthAddress ? recipient : EthAddress.fromField(recipient);
|
|
174
|
-
const message = new L2ToL1Message(recipientAddress, content);
|
|
175
|
+
const message = new L2ToL1Message(recipientAddress, content, 0);
|
|
175
176
|
this.newL1Messages.push(message);
|
|
176
177
|
// TRANSITIONAL: This should be removed once the kernel handles and entire enqueued call per circuit
|
|
177
178
|
this.transitionalExecutionResult.newL2ToL1Messages.push(message);
|
|
@@ -237,4 +238,4 @@ export class AvmPersistableStateManager {
|
|
|
237
238
|
};
|
|
238
239
|
}
|
|
239
240
|
}
|
|
240
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam91cm5hbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdm0vam91cm5hbC9qb3VybmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9EQUFvRDtBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQ0wsWUFBWSxFQUNaLG1CQUFtQixFQUNuQiw0QkFBNEIsRUFDNUIsVUFBVSxFQUNWLGFBQWEsRUFDYixRQUFRLEVBQ1IsU0FBUyxFQUNULFdBQVcsRUFDWCxVQUFVLEdBQ1gsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlDLE9BQU8sRUFBb0IsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUk1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQW9EbkQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLE9BQU8sMEJBQTBCO0lBc0JyQyxZQUFZLFdBQXdCLEVBQUUsTUFBbUM7UUFyQnhELFFBQUcsR0FBZ0IsaUJBQWlCLENBQUMsbUNBQW1DLENBQUMsQ0FBQztRQWMzRix3QkFBd0I7UUFDakIsa0JBQWEsR0FBb0IsRUFBRSxDQUFDO1FBQ3BDLFlBQU8sR0FBdUIsRUFBRSxDQUFDO1FBTXRDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxhQUFhLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLFVBQVUsR0FB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
|
|
241
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam91cm5hbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdm0vam91cm5hbC9qb3VybmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9EQUFvRDtBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQ0wsWUFBWSxFQUNaLG1CQUFtQixFQUNuQiw0QkFBNEIsRUFDNUIsVUFBVSxFQUNWLGFBQWEsRUFDYixRQUFRLEVBQ1IsU0FBUyxFQUNULFdBQVcsRUFDWCxVQUFVLEdBQ1gsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlDLE9BQU8sRUFBb0IsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUk1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQW9EbkQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLE9BQU8sMEJBQTBCO0lBc0JyQyxZQUFZLFdBQXdCLEVBQUUsTUFBbUM7UUFyQnhELFFBQUcsR0FBZ0IsaUJBQWlCLENBQUMsbUNBQW1DLENBQUMsQ0FBQztRQWMzRix3QkFBd0I7UUFDakIsa0JBQWEsR0FBb0IsRUFBRSxDQUFDO1FBQ3BDLFlBQU8sR0FBdUIsRUFBRSxDQUFDO1FBTXRDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxhQUFhLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLFVBQVUsR0FB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
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type AvmContext } from '../avm_context.js';
|
|
2
|
+
import { Opcode, OperandType } from '../serialization/instruction_serialization.js';
|
|
3
|
+
import { Instruction } from './instruction.js';
|
|
4
|
+
export declare class ToRadixLE extends Instruction {
|
|
5
|
+
private indirect;
|
|
6
|
+
private srcOffset;
|
|
7
|
+
private dstOffset;
|
|
8
|
+
private radix;
|
|
9
|
+
private numLimbs;
|
|
10
|
+
static type: string;
|
|
11
|
+
static readonly opcode: Opcode;
|
|
12
|
+
static readonly wireFormat: OperandType[];
|
|
13
|
+
constructor(indirect: number, srcOffset: number, dstOffset: number, radix: number, numLimbs: number);
|
|
14
|
+
execute(context: AvmContext): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=conversion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversion.d.ts","sourceRoot":"","sources":["../../../src/avm/opcodes/conversion.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAEpF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qBAAa,SAAU,SAAQ,WAAW;IAetC,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,QAAQ;IAlBlB,MAAM,CAAC,IAAI,EAAE,MAAM,CAAe;IAClC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAoB;IAGlD,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,CAOvC;gBAGQ,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM;IAMb,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAyBzD"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { strict as assert } from 'assert';
|
|
2
|
+
import { 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 ToRadixLE extends Instruction {
|
|
7
|
+
constructor(indirect, srcOffset, dstOffset, radix, numLimbs) {
|
|
8
|
+
assert(radix <= 256, 'Radix cannot be greater than 256');
|
|
9
|
+
super();
|
|
10
|
+
this.indirect = indirect;
|
|
11
|
+
this.srcOffset = srcOffset;
|
|
12
|
+
this.dstOffset = dstOffset;
|
|
13
|
+
this.radix = radix;
|
|
14
|
+
this.numLimbs = numLimbs;
|
|
15
|
+
}
|
|
16
|
+
async execute(context) {
|
|
17
|
+
const memory = context.machineState.memory.track(this.type);
|
|
18
|
+
const [srcOffset, dstOffset] = Addressing.fromWire(this.indirect).resolve([this.srcOffset, this.dstOffset], memory);
|
|
19
|
+
const memoryOperations = { reads: 1, writes: this.numLimbs, indirect: this.indirect };
|
|
20
|
+
context.machineState.consumeGas(this.gasCost(memoryOperations));
|
|
21
|
+
// The radix gadget only takes in a Field
|
|
22
|
+
memory.checkTag(TypeTag.FIELD, srcOffset);
|
|
23
|
+
let value = memory.get(srcOffset).toBigInt();
|
|
24
|
+
const radixBN = BigInt(this.radix);
|
|
25
|
+
const limbArray = [];
|
|
26
|
+
for (let i = 0; i < this.numLimbs; i++) {
|
|
27
|
+
const limb = value % radixBN;
|
|
28
|
+
limbArray.push(limb);
|
|
29
|
+
value /= radixBN;
|
|
30
|
+
}
|
|
31
|
+
const res = [...limbArray].map(byte => new Uint8(byte));
|
|
32
|
+
memory.setSlice(dstOffset, res);
|
|
33
|
+
memory.assert(memoryOperations);
|
|
34
|
+
context.machineState.incrementPc();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
ToRadixLE.type = 'TORADIXLE';
|
|
38
|
+
ToRadixLE.opcode = Opcode.TORADIXLE;
|
|
39
|
+
// Informs (de)serialization. See Instruction.deserialize.
|
|
40
|
+
ToRadixLE.wireFormat = [
|
|
41
|
+
OperandType.UINT8, // Opcode
|
|
42
|
+
OperandType.UINT8, // Indirect
|
|
43
|
+
OperandType.UINT32, // src memory address
|
|
44
|
+
OperandType.UINT32, // dst memory address
|
|
45
|
+
OperandType.UINT32, // radix (immediate)
|
|
46
|
+
OperandType.UINT32, // number of limbs (Immediate)
|
|
47
|
+
];
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdm0vb3Bjb2Rlcy9jb252ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLElBQUksTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRzFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNwRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DLE1BQU0sT0FBTyxTQUFVLFNBQVEsV0FBVztJQWN4QyxZQUNVLFFBQWdCLEVBQ2hCLFNBQWlCLEVBQ2pCLFNBQWlCLEVBQ2pCLEtBQWEsRUFDYixRQUFnQjtRQUV4QixNQUFNLENBQUMsS0FBSyxJQUFJLEdBQUcsRUFBRSxrQ0FBa0MsQ0FBQyxDQUFDO1FBQ3pELEtBQUssRUFBRSxDQUFDO1FBUEEsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUNoQixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQ2pCLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDakIsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLGFBQVEsR0FBUixRQUFRLENBQVE7SUFJMUIsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBbUI7UUFDdEMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1RCxNQUFNLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3BILE1BQU0sZ0JBQWdCLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdEYsT0FBTyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7UUFFaEUseUNBQXlDO1FBQ3pDLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztRQUUxQyxJQUFJLEtBQUssR0FBVyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3JELE1BQU0sT0FBTyxHQUFXLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBRXJCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDdkMsTUFBTSxJQUFJLEdBQUcsS0FBSyxHQUFHLE9BQU8sQ0FBQztZQUM3QixTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JCLEtBQUssSUFBSSxPQUFPLENBQUM7UUFDbkIsQ0FBQztRQUVELE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRWhDLE1BQU0sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNoQyxPQUFPLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JDLENBQUM7O0FBaERNLGNBQUksR0FBVyxXQUFXLENBQUM7QUFDbEIsZ0JBQU0sR0FBVyxNQUFNLENBQUMsU0FBUyxDQUFDO0FBRWxELDBEQUEwRDtBQUMxQyxvQkFBVSxHQUFrQjtJQUMxQyxXQUFXLENBQUMsS0FBSyxFQUFFLFNBQVM7SUFDNUIsV0FBVyxDQUFDLEtBQUssRUFBRSxXQUFXO0lBQzlCLFdBQVcsQ0FBQyxNQUFNLEVBQUUscUJBQXFCO0lBQ3pDLFdBQVcsQ0FBQyxNQUFNLEVBQUUscUJBQXFCO0lBQ3pDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsb0JBQW9CO0lBQ3hDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsOEJBQThCO0NBQ25ELENBQUMifQ==
|
|
@@ -1,62 +1,61 @@
|
|
|
1
|
-
import { type Fr } from '@aztec/circuits.js';
|
|
2
1
|
import type { AvmContext } from '../avm_context.js';
|
|
3
2
|
import type { AvmExecutionEnvironment } from '../avm_execution_environment.js';
|
|
4
|
-
import { type MemoryValue } from '../avm_memory_types.js';
|
|
3
|
+
import { Field, type MemoryValue, Uint64 } from '../avm_memory_types.js';
|
|
5
4
|
import { Opcode } from '../serialization/instruction_serialization.js';
|
|
6
5
|
import { GetterInstruction } from './instruction_impl.js';
|
|
7
6
|
declare abstract class EnvironmentGetterInstruction extends GetterInstruction {
|
|
8
7
|
protected getValue(context: AvmContext): MemoryValue;
|
|
9
|
-
protected abstract getEnvironmentValue(env: AvmExecutionEnvironment):
|
|
8
|
+
protected abstract getEnvironmentValue(env: AvmExecutionEnvironment): MemoryValue;
|
|
10
9
|
}
|
|
11
10
|
export declare class Address extends EnvironmentGetterInstruction {
|
|
12
11
|
static type: string;
|
|
13
12
|
static readonly opcode: Opcode;
|
|
14
|
-
protected getEnvironmentValue(env: AvmExecutionEnvironment):
|
|
13
|
+
protected getEnvironmentValue(env: AvmExecutionEnvironment): Field;
|
|
15
14
|
}
|
|
16
15
|
export declare class StorageAddress extends EnvironmentGetterInstruction {
|
|
17
16
|
static type: string;
|
|
18
17
|
static readonly opcode: Opcode;
|
|
19
|
-
protected getEnvironmentValue(env: AvmExecutionEnvironment):
|
|
18
|
+
protected getEnvironmentValue(env: AvmExecutionEnvironment): Field;
|
|
20
19
|
}
|
|
21
20
|
export declare class Sender extends EnvironmentGetterInstruction {
|
|
22
21
|
static type: string;
|
|
23
22
|
static readonly opcode: Opcode;
|
|
24
|
-
protected getEnvironmentValue(env: AvmExecutionEnvironment):
|
|
23
|
+
protected getEnvironmentValue(env: AvmExecutionEnvironment): Field;
|
|
25
24
|
}
|
|
26
25
|
export declare class FeePerL2Gas extends EnvironmentGetterInstruction {
|
|
27
26
|
static type: string;
|
|
28
27
|
static readonly opcode: Opcode;
|
|
29
|
-
protected getEnvironmentValue(env: AvmExecutionEnvironment):
|
|
28
|
+
protected getEnvironmentValue(env: AvmExecutionEnvironment): Field;
|
|
30
29
|
}
|
|
31
30
|
export declare class FeePerDAGas extends EnvironmentGetterInstruction {
|
|
32
31
|
static type: string;
|
|
33
32
|
static readonly opcode: Opcode;
|
|
34
|
-
protected getEnvironmentValue(env: AvmExecutionEnvironment):
|
|
33
|
+
protected getEnvironmentValue(env: AvmExecutionEnvironment): Field;
|
|
35
34
|
}
|
|
36
35
|
export declare class TransactionFee extends EnvironmentGetterInstruction {
|
|
37
36
|
static type: string;
|
|
38
37
|
static readonly opcode: Opcode;
|
|
39
|
-
protected getEnvironmentValue(env: AvmExecutionEnvironment):
|
|
38
|
+
protected getEnvironmentValue(env: AvmExecutionEnvironment): Field;
|
|
40
39
|
}
|
|
41
40
|
export declare class ChainId extends EnvironmentGetterInstruction {
|
|
42
41
|
static type: string;
|
|
43
42
|
static readonly opcode: Opcode;
|
|
44
|
-
protected getEnvironmentValue(env: AvmExecutionEnvironment):
|
|
43
|
+
protected getEnvironmentValue(env: AvmExecutionEnvironment): Field;
|
|
45
44
|
}
|
|
46
45
|
export declare class Version extends EnvironmentGetterInstruction {
|
|
47
46
|
static type: string;
|
|
48
47
|
static readonly opcode: Opcode;
|
|
49
|
-
protected getEnvironmentValue(env: AvmExecutionEnvironment):
|
|
48
|
+
protected getEnvironmentValue(env: AvmExecutionEnvironment): Field;
|
|
50
49
|
}
|
|
51
50
|
export declare class BlockNumber extends EnvironmentGetterInstruction {
|
|
52
51
|
static type: string;
|
|
53
52
|
static readonly opcode: Opcode;
|
|
54
|
-
protected getEnvironmentValue(env: AvmExecutionEnvironment):
|
|
53
|
+
protected getEnvironmentValue(env: AvmExecutionEnvironment): Field;
|
|
55
54
|
}
|
|
56
55
|
export declare class Timestamp extends EnvironmentGetterInstruction {
|
|
57
56
|
static type: string;
|
|
58
57
|
static readonly opcode: Opcode;
|
|
59
|
-
protected getEnvironmentValue(env: AvmExecutionEnvironment):
|
|
58
|
+
protected getEnvironmentValue(env: AvmExecutionEnvironment): Uint64;
|
|
60
59
|
}
|
|
61
60
|
export {};
|
|
62
61
|
//# sourceMappingURL=environment_getters.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment_getters.d.ts","sourceRoot":"","sources":["../../../src/avm/opcodes/environment_getters.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"environment_getters.d.ts","sourceRoot":"","sources":["../../../src/avm/opcodes/environment_getters.ts"],"names":[],"mappings":"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"}
|