@aztec/simulator 0.56.0 → 0.58.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 +2 -5
- package/dest/acvm/oracle/oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/oracle.js +7 -38
- package/dest/acvm/oracle/typed_oracle.d.ts +4 -8
- package/dest/acvm/oracle/typed_oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/typed_oracle.js +1 -10
- package/dest/avm/avm_execution_environment.d.ts +2 -3
- package/dest/avm/avm_execution_environment.d.ts.map +1 -1
- package/dest/avm/avm_execution_environment.js +3 -4
- package/dest/avm/avm_gas.d.ts.map +1 -1
- package/dest/avm/avm_gas.js +2 -3
- package/dest/avm/avm_memory_types.d.ts +10 -5
- package/dest/avm/avm_memory_types.d.ts.map +1 -1
- package/dest/avm/avm_memory_types.js +31 -16
- package/dest/avm/avm_simulator.d.ts.map +1 -1
- package/dest/avm/avm_simulator.js +5 -2
- package/dest/avm/errors.d.ts +1 -1
- package/dest/avm/errors.d.ts.map +1 -1
- package/dest/avm/errors.js +12 -3
- package/dest/avm/fixtures/index.d.ts.map +1 -1
- package/dest/avm/fixtures/index.js +4 -4
- package/dest/avm/journal/journal.d.ts +2 -1
- package/dest/avm/journal/journal.d.ts.map +1 -1
- package/dest/avm/journal/journal.js +8 -8
- package/dest/avm/opcodes/accrued_substate.d.ts.map +1 -1
- package/dest/avm/opcodes/accrued_substate.js +54 -47
- package/dest/avm/opcodes/addressing_mode.d.ts +3 -2
- package/dest/avm/opcodes/addressing_mode.d.ts.map +1 -1
- package/dest/avm/opcodes/addressing_mode.js +25 -21
- package/dest/avm/opcodes/arithmetic.d.ts.map +1 -1
- package/dest/avm/opcodes/arithmetic.js +7 -6
- package/dest/avm/opcodes/bitwise.d.ts +3 -3
- package/dest/avm/opcodes/bitwise.d.ts.map +1 -1
- package/dest/avm/opcodes/bitwise.js +19 -16
- package/dest/avm/opcodes/commitment.d.ts.map +1 -1
- package/dest/avm/opcodes/commitment.js +6 -5
- package/dest/avm/opcodes/comparators.d.ts.map +1 -1
- package/dest/avm/opcodes/comparators.js +7 -6
- package/dest/avm/opcodes/contract.d.ts.map +1 -1
- package/dest/avm/opcodes/contract.js +8 -6
- package/dest/avm/opcodes/control_flow.js +7 -7
- package/dest/avm/opcodes/conversion.d.ts.map +1 -1
- package/dest/avm/opcodes/conversion.js +11 -10
- package/dest/avm/opcodes/ec_add.d.ts.map +1 -1
- package/dest/avm/opcodes/ec_add.js +25 -15
- package/dest/avm/opcodes/environment_getters.d.ts.map +1 -1
- package/dest/avm/opcodes/environment_getters.js +6 -5
- package/dest/avm/opcodes/external_calls.d.ts.map +1 -1
- package/dest/avm/opcodes/external_calls.js +37 -26
- package/dest/avm/opcodes/hashing.d.ts +1 -3
- package/dest/avm/opcodes/hashing.d.ts.map +1 -1
- package/dest/avm/opcodes/hashing.js +39 -48
- package/dest/avm/opcodes/instruction.d.ts +2 -6
- package/dest/avm/opcodes/instruction.d.ts.map +1 -1
- package/dest/avm/opcodes/instruction.js +3 -9
- package/dest/avm/opcodes/instruction_impl.d.ts +1 -2
- package/dest/avm/opcodes/instruction_impl.d.ts.map +1 -1
- package/dest/avm/opcodes/instruction_impl.js +2 -5
- package/dest/avm/opcodes/memory.d.ts +0 -12
- package/dest/avm/opcodes/memory.d.ts.map +1 -1
- package/dest/avm/opcodes/memory.js +24 -54
- package/dest/avm/opcodes/misc.d.ts.map +1 -1
- package/dest/avm/opcodes/misc.js +10 -9
- package/dest/avm/opcodes/multi_scalar_mul.d.ts.map +1 -1
- package/dest/avm/opcodes/multi_scalar_mul.js +35 -20
- package/dest/avm/opcodes/storage.d.ts.map +1 -1
- package/dest/avm/opcodes/storage.js +13 -11
- package/dest/avm/serialization/bytecode_serialization.d.ts.map +1 -1
- package/dest/avm/serialization/bytecode_serialization.js +2 -3
- package/dest/avm/serialization/instruction_serialization.d.ts +32 -34
- package/dest/avm/serialization/instruction_serialization.d.ts.map +1 -1
- package/dest/avm/serialization/instruction_serialization.js +34 -37
- package/dest/avm/test_utils.d.ts +1 -2
- package/dest/avm/test_utils.d.ts.map +1 -1
- package/dest/avm/test_utils.js +1 -1
- package/dest/client/client_execution_context.d.ts +6 -30
- package/dest/client/client_execution_context.d.ts.map +1 -1
- package/dest/client/client_execution_context.js +36 -54
- package/dest/client/db_oracle.d.ts +1 -2
- package/dest/client/db_oracle.d.ts.map +1 -1
- package/dest/client/db_oracle.js +1 -1
- package/dest/client/index.d.ts +1 -1
- package/dest/client/index.d.ts.map +1 -1
- package/dest/client/index.js +2 -2
- package/dest/client/private_execution.d.ts +12 -3
- package/dest/client/private_execution.d.ts.map +1 -1
- package/dest/client/private_execution.js +29 -23
- package/dest/client/simulator.d.ts +2 -3
- package/dest/client/simulator.d.ts.map +1 -1
- package/dest/client/simulator.js +1 -1
- package/dest/client/view_data_oracle.d.ts +1 -2
- package/dest/client/view_data_oracle.d.ts.map +1 -1
- package/dest/client/view_data_oracle.js +1 -1
- package/dest/common/debug_fn_name.d.ts +4 -0
- package/dest/common/debug_fn_name.d.ts.map +1 -0
- package/dest/common/debug_fn_name.js +15 -0
- package/dest/common/index.d.ts +0 -1
- package/dest/common/index.d.ts.map +1 -1
- package/dest/common/index.js +1 -2
- package/dest/public/db_interfaces.d.ts +1 -2
- package/dest/public/db_interfaces.d.ts.map +1 -1
- package/dest/public/dual_side_effect_trace.d.ts +76 -0
- package/dest/public/dual_side_effect_trace.d.ts.map +1 -0
- package/dest/public/dual_side_effect_trace.js +109 -0
- package/dest/public/enqueued_call_side_effect_trace.d.ts +114 -0
- package/dest/public/enqueued_call_side_effect_trace.d.ts.map +1 -0
- package/dest/public/enqueued_call_side_effect_trace.js +314 -0
- package/dest/public/enqueued_call_simulator.d.ts +2 -2
- package/dest/public/enqueued_call_simulator.d.ts.map +1 -1
- package/dest/public/enqueued_call_simulator.js +20 -10
- package/dest/public/enqueued_calls_processor.d.ts +2 -2
- package/dest/public/enqueued_calls_processor.d.ts.map +1 -1
- package/dest/public/enqueued_calls_processor.js +3 -5
- package/dest/public/execution.d.ts +11 -5
- package/dest/public/execution.d.ts.map +1 -1
- package/dest/public/execution.js +13 -1
- package/dest/public/executor.d.ts +7 -6
- package/dest/public/executor.d.ts.map +1 -1
- package/dest/public/executor.js +24 -15
- package/dest/public/fee_payment.d.ts +1 -1
- package/dest/public/fee_payment.d.ts.map +1 -1
- package/dest/public/fee_payment.js +4 -7
- package/dest/public/hints_builder.d.ts +2 -2
- package/dest/public/hints_builder.d.ts.map +1 -1
- package/dest/public/hints_builder.js +2 -2
- package/dest/public/public_db_sources.d.ts +4 -5
- package/dest/public/public_db_sources.d.ts.map +1 -1
- package/dest/public/public_db_sources.js +15 -11
- package/dest/public/public_kernel_tail_simulator.d.ts +3 -3
- package/dest/public/public_kernel_tail_simulator.d.ts.map +1 -1
- package/dest/public/public_kernel_tail_simulator.js +1 -1
- package/dest/public/public_processor.d.ts +7 -10
- package/dest/public/public_processor.d.ts.map +1 -1
- package/dest/public/public_processor.js +9 -10
- package/dest/public/side_effect_errors.d.ts +4 -0
- package/dest/public/side_effect_errors.d.ts.map +1 -0
- package/dest/public/side_effect_errors.js +7 -0
- package/dest/public/side_effect_trace.d.ts +3 -4
- package/dest/public/side_effect_trace.d.ts.map +1 -1
- package/dest/public/side_effect_trace.js +54 -29
- package/dest/public/side_effect_trace_interface.d.ts +1 -1
- package/dest/public/side_effect_trace_interface.d.ts.map +1 -1
- package/package.json +12 -9
- package/src/acvm/oracle/oracle.ts +8 -86
- package/src/acvm/oracle/typed_oracle.ts +8 -33
- package/src/avm/avm_execution_environment.ts +1 -3
- package/src/avm/avm_gas.ts +1 -2
- package/src/avm/avm_memory_types.ts +38 -16
- package/src/avm/avm_simulator.ts +7 -1
- package/src/avm/errors.ts +11 -3
- package/src/avm/fixtures/index.ts +2 -3
- package/src/avm/journal/journal.ts +14 -10
- package/src/avm/opcodes/accrued_substate.ts +53 -61
- package/src/avm/opcodes/addressing_mode.ts +27 -24
- package/src/avm/opcodes/arithmetic.ts +6 -8
- package/src/avm/opcodes/bitwise.ts +18 -18
- package/src/avm/opcodes/commitment.ts +6 -7
- package/src/avm/opcodes/comparators.ts +6 -8
- package/src/avm/opcodes/contract.ts +7 -8
- package/src/avm/opcodes/control_flow.ts +6 -6
- package/src/avm/opcodes/conversion.ts +10 -12
- package/src/avm/opcodes/ec_add.ts +29 -24
- package/src/avm/opcodes/environment_getters.ts +5 -4
- package/src/avm/opcodes/external_calls.ts +37 -30
- package/src/avm/opcodes/hashing.ts +38 -63
- package/src/avm/opcodes/instruction.ts +3 -10
- package/src/avm/opcodes/instruction_impl.ts +0 -3
- package/src/avm/opcodes/memory.ts +23 -67
- package/src/avm/opcodes/misc.ts +9 -11
- package/src/avm/opcodes/multi_scalar_mul.ts +31 -26
- package/src/avm/opcodes/storage.ts +12 -10
- package/src/avm/serialization/bytecode_serialization.ts +0 -2
- package/src/avm/serialization/instruction_serialization.ts +1 -4
- package/src/avm/test_utils.ts +1 -2
- package/src/client/client_execution_context.ts +46 -97
- package/src/client/db_oracle.ts +6 -2
- package/src/client/index.ts +1 -1
- package/src/client/private_execution.ts +45 -15
- package/src/client/simulator.ts +2 -3
- package/src/client/view_data_oracle.ts +1 -2
- package/src/common/debug_fn_name.ts +22 -0
- package/src/common/index.ts +0 -1
- package/src/public/db_interfaces.ts +5 -2
- package/src/public/dual_side_effect_trace.ts +173 -0
- package/src/public/enqueued_call_side_effect_trace.ts +552 -0
- package/src/public/enqueued_call_simulator.ts +35 -14
- package/src/public/enqueued_calls_processor.ts +4 -6
- package/src/public/execution.ts +15 -6
- package/src/public/executor.ts +42 -19
- package/src/public/fee_payment.ts +4 -6
- package/src/public/hints_builder.ts +9 -11
- package/src/public/public_db_sources.ts +31 -22
- package/src/public/public_kernel_tail_simulator.ts +3 -3
- package/src/public/public_processor.ts +17 -13
- package/src/public/side_effect_errors.ts +6 -0
- package/src/public/side_effect_trace.ts +74 -29
- package/src/public/side_effect_trace_interface.ts +2 -2
- package/dest/client/execution_result.d.ts +0 -104
- package/dest/client/execution_result.d.ts.map +0 -1
- package/dest/client/execution_result.js +0 -136
- package/dest/common/return_values.d.ts +0 -11
- package/dest/common/return_values.d.ts.map +0 -1
- package/dest/common/return_values.js +0 -13
- package/src/client/execution_result.ts +0 -228
- package/src/common/return_values.ts +0 -18
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view_data_oracle.d.ts","sourceRoot":"","sources":["../../src/client/view_data_oracle.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"view_data_oracle.d.ts","sourceRoot":"","sources":["../../src/client/view_data_oracle.ts"],"names":[],"mappings":"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"}
|
|
@@ -222,4 +222,4 @@ export class ViewDataOracle extends TypedOracle {
|
|
|
222
222
|
this.log.verbose(`debug_log ${formattedStr}`);
|
|
223
223
|
}
|
|
224
224
|
}
|
|
225
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
225
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld19kYXRhX29yYWNsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvdmlld19kYXRhX29yYWNsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUwsWUFBWSxHQUliLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVqRixPQUFPLEVBQWlCLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTlELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1Qzs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sY0FBZSxTQUFRLFdBQVc7SUFDN0MsWUFDcUIsZUFBNkI7SUFDaEQseUVBQXlFO0lBQ3RELGFBQTRCLEVBQzVCLEVBQVksRUFDWixTQUFvQixFQUM3QixNQUFNLGlCQUFpQixDQUFDLHFDQUFxQyxDQUFDLEVBQ3JELE1BQXVCO1FBRTFDLEtBQUssRUFBRSxDQUFDO1FBUlcsb0JBQWUsR0FBZixlQUFlLENBQWM7UUFFN0Isa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsT0FBRSxHQUFGLEVBQUUsQ0FBVTtRQUNaLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDN0IsUUFBRyxHQUFILEdBQUcsQ0FBMkQ7UUFDckQsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7SUFHNUMsQ0FBQztJQUVlLGNBQWM7UUFDNUIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFZSxrQkFBa0I7UUFDaEMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRWUsVUFBVTtRQUN4QixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVlLFVBQVU7UUFDeEIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNhLHVCQUF1QixDQUFDLE9BQVc7UUFDakQsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHVCQUF1QixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNhLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxXQUFtQixFQUFFLE1BQW9CLEVBQUUsU0FBYTtRQUNqRyxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDMUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLFNBQVMsaUJBQWlCLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbkYsQ0FBQztRQUNELE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3RSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxXQUFXLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ2EsY0FBYyxDQUFDLFdBQW1CLEVBQUUsTUFBb0IsRUFBRSxTQUFhO1FBQ3JGLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDYSxLQUFLLENBQUMsNkJBQTZCLENBQ2pELFdBQW1CLEVBQ25CLFNBQWE7UUFFYixPQUFPLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ2EsS0FBSyxDQUFDLGdDQUFnQyxDQUNwRCxXQUFtQixFQUNuQixTQUFhO1FBRWIsT0FBTyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsZ0NBQWdDLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNhLEtBQUssQ0FBQyx3QkFBd0IsQ0FDNUMsV0FBbUIsRUFDbkIsUUFBWTtRQUVaLE9BQU8sTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNhLEtBQUssQ0FBQyxTQUFTLENBQUMsV0FBbUI7UUFDakQsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNhLGtCQUFrQixDQUFDLE9BQXFCO1FBQ3RELE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNhLG1CQUFtQixDQUFDLE9BQXFCO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDYSxjQUFjLENBQUMsV0FBZTtRQUM1QyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQ2hILENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNhLFVBQVU7UUFDeEIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FvQkc7SUFDYSxLQUFLLENBQUMsUUFBUSxDQUM1QixXQUFlLEVBQ2YsVUFBa0IsRUFDbEIsZUFBeUIsRUFDekIsZUFBeUIsRUFDekIsZUFBeUIsRUFDekIsWUFBa0IsRUFDbEIsaUJBQTJCLEVBQzNCLGFBQXVCLEVBQ3ZCLGFBQXVCLEVBQ3ZCLGFBQXVCLEVBQ3ZCLFNBQW1CLEVBQ25CLEtBQWEsRUFDYixNQUFjLEVBQ2QsTUFBa0I7UUFFbEIsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9GLE9BQU8sU0FBUyxDQUFXLE9BQU8sRUFBRTtZQUNsQyxPQUFPLEVBQUUsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDL0QsUUFBUSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDM0UsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7Z0JBQ3RCLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7YUFDakMsQ0FBQyxDQUFDO1lBQ0gsS0FBSyxFQUFFLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN0QyxRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUN2RSxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQzthQUNwQixDQUFDLENBQUM7WUFDSCxLQUFLO1lBQ0wsTUFBTTtTQUNQLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ2EsS0FBSyxDQUFDLG9CQUFvQixDQUFDLGNBQWtCO1FBQzNELE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLGNBQWUsQ0FBQyxDQUFDO1FBQ3ZFLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6RCxPQUFPLEtBQUssS0FBSyxTQUFTLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDYSxLQUFLLENBQUMsMEJBQTBCLENBQUMsZUFBNkIsRUFBRSxXQUFlLEVBQUUsTUFBVTtRQUN6RyxPQUFPLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDYSxLQUFLLENBQUMsV0FBVyxDQUMvQixlQUFtQixFQUNuQixnQkFBb0IsRUFDcEIsV0FBbUIsRUFDbkIsZ0JBQXdCO1FBRXhCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNsQixLQUFLLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUMzQyxNQUFNLFdBQVcsR0FBRyxJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDdkQsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLGVBQWUsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFFakcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQ1osNkJBQTZCLFdBQVcsQ0FBQyxRQUFRLEVBQUUsWUFBWSxlQUFlLENBQUMsUUFBUSxFQUFFLFVBQVUsS0FBSyxFQUFFLENBQzNHLENBQUM7WUFDRixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRWUsUUFBUSxDQUFDLE9BQWUsRUFBRSxNQUFZO1FBQ3BELE1BQU0sWUFBWSxHQUFHLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxhQUFhLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDaEQsQ0FBQztDQUNGIn0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type AztecAddress, Fr, FunctionSelector } from '@aztec/circuits.js';
|
|
2
|
+
import { type WorldStateDB } from '../public/public_db_sources.js';
|
|
3
|
+
export declare function getPublicFunctionDebugName(db: WorldStateDB, contractAddress: AztecAddress, fn: FunctionSelector, calldata: Fr[]): Promise<string>;
|
|
4
|
+
//# sourceMappingURL=debug_fn_name.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug_fn_name.d.ts","sourceRoot":"","sources":["../../src/common/debug_fn_name.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,EAAE,EAAE,gBAAgB,EAA4B,MAAM,oBAAoB,CAAC;AAEvG,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAEnE,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,YAAY,EAChB,eAAe,EAAE,YAAY,EAC7B,EAAE,EAAE,gBAAgB,EACpB,QAAQ,EAAE,EAAE,EAAE,GACb,OAAO,CAAC,MAAM,CAAC,CAYjB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Fr, FunctionSelector, PUBLIC_DISPATCH_SELECTOR } from '@aztec/circuits.js';
|
|
2
|
+
export async function getPublicFunctionDebugName(db, contractAddress, fn, calldata) {
|
|
3
|
+
if (fn.equals(FunctionSelector.fromField(new Fr(PUBLIC_DISPATCH_SELECTOR)))) {
|
|
4
|
+
// If the function is a dispatch, we need to look up the target function which
|
|
5
|
+
// is expected to be the first argument.
|
|
6
|
+
const targetFunction = calldata[0] !== undefined
|
|
7
|
+
? await db.getDebugFunctionName(contractAddress, FunctionSelector.fromField(calldata[0]))
|
|
8
|
+
: `<calldata[0] undefined>`;
|
|
9
|
+
return `${targetFunction} (via dispatch)`;
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
return (await db.getDebugFunctionName(contractAddress, fn)) ?? `${contractAddress}:${fn}`;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWdfZm5fbmFtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vZGVidWdfZm5fbmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSXZHLE1BQU0sQ0FBQyxLQUFLLFVBQVUsMEJBQTBCLENBQzlDLEVBQWdCLEVBQ2hCLGVBQTZCLEVBQzdCLEVBQW9CLEVBQ3BCLFFBQWM7SUFFZCxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDNUUsOEVBQThFO1FBQzlFLHdDQUF3QztRQUN4QyxNQUFNLGNBQWMsR0FDbEIsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLFNBQVM7WUFDdkIsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLG9CQUFvQixDQUFDLGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekYsQ0FBQyxDQUFDLHlCQUF5QixDQUFDO1FBQ2hDLE9BQU8sR0FBRyxjQUFjLGlCQUFpQixDQUFDO0lBQzVDLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLG9CQUFvQixDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsZUFBZSxJQUFJLEVBQUUsRUFBRSxDQUFDO0lBQzVGLENBQUM7QUFDSCxDQUFDIn0=
|
package/dest/common/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC"}
|
package/dest/common/index.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export * from './packed_values_cache.js';
|
|
2
2
|
export * from './errors.js';
|
|
3
3
|
export * from './side_effect_counter.js';
|
|
4
|
-
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLG9CQUFvQixDQUFDIn0=
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYywwQkFBMEIsQ0FBQyJ9
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
import { type NullifierMembershipWitness } from '@aztec/circuit-types';
|
|
3
|
-
import { type FunctionSelector, type L1_TO_L2_MSG_TREE_HEIGHT } from '@aztec/circuits.js';
|
|
3
|
+
import { type ContractInstanceWithAddress, type FunctionSelector, type L1_TO_L2_MSG_TREE_HEIGHT } from '@aztec/circuits.js';
|
|
4
4
|
import { type AztecAddress } from '@aztec/foundation/aztec-address';
|
|
5
5
|
import { type Fr } from '@aztec/foundation/fields';
|
|
6
|
-
import { type ContractInstanceWithAddress } from '@aztec/types/contracts';
|
|
7
6
|
import { type MessageLoadOracleInputs } from '../acvm/index.js';
|
|
8
7
|
/**
|
|
9
8
|
* Database interface for providing access to public state.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db_interfaces.d.ts","sourceRoot":"","sources":["../../src/public/db_interfaces.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,
|
|
1
|
+
{"version":3,"file":"db_interfaces.d.ts","sourceRoot":"","sources":["../../src/public/db_interfaces.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EACL,KAAK,2BAA2B,EAChC,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC9B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IAE3D;;;;;;OAMG;IACH,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9E;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;OAEG;IACH,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtC;;;OAGG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;OAEG;IACH,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE5F;;;;OAIG;IACH,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAAC;IAE7F,oBAAoB,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC9G;AAED,6GAA6G;AAC7G,MAAM,WAAW,aAAa;IAC5B;;;;;;;OAOG;IACH,0BAA0B,CACxB,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,EAAE,EACf,MAAM,EAAE,EAAE,GACT,OAAO,CAAC,uBAAuB,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC;IAErE;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAE/D;;;;OAIG;IACH,kBAAkB,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAEhE;;;;OAIG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAE/D;;;;OAIG;IACH,iBAAiB,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE9D;;;;OAIG;IACH,0CAA0C,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC,CAAC;CAC5G"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
import { type CombinedConstantData, type ContractInstanceWithAddress, type Gas, type VMCircuitPublicInputs } from '@aztec/circuits.js';
|
|
3
|
+
import { type Fr } from '@aztec/foundation/fields';
|
|
4
|
+
import { type AvmContractCallResult } from '../avm/avm_contract_call_result.js';
|
|
5
|
+
import { type AvmExecutionEnvironment } from '../avm/avm_execution_environment.js';
|
|
6
|
+
import { type PublicEnqueuedCallSideEffectTrace } from './enqueued_call_side_effect_trace.js';
|
|
7
|
+
import { type PublicExecutionResult } from './execution.js';
|
|
8
|
+
import { type PublicSideEffectTrace } from './side_effect_trace.js';
|
|
9
|
+
import { type PublicSideEffectTraceInterface } from './side_effect_trace_interface.js';
|
|
10
|
+
export type TracedContractInstance = {
|
|
11
|
+
exists: boolean;
|
|
12
|
+
} & ContractInstanceWithAddress;
|
|
13
|
+
export declare class DualSideEffectTrace implements PublicSideEffectTraceInterface {
|
|
14
|
+
readonly innerCallTrace: PublicSideEffectTrace;
|
|
15
|
+
readonly enqueuedCallTrace: PublicEnqueuedCallSideEffectTrace;
|
|
16
|
+
constructor(innerCallTrace: PublicSideEffectTrace, enqueuedCallTrace: PublicEnqueuedCallSideEffectTrace);
|
|
17
|
+
fork(): DualSideEffectTrace;
|
|
18
|
+
getCounter(): number;
|
|
19
|
+
tracePublicStorageRead(storageAddress: Fr, slot: Fr, value: Fr, exists: boolean, cached: boolean): void;
|
|
20
|
+
tracePublicStorageWrite(storageAddress: Fr, slot: Fr, value: Fr): void;
|
|
21
|
+
traceNoteHashCheck(_storageAddress: Fr, noteHash: Fr, leafIndex: Fr, exists: boolean): void;
|
|
22
|
+
traceNewNoteHash(_storageAddress: Fr, noteHash: Fr): void;
|
|
23
|
+
traceNullifierCheck(storageAddress: Fr, nullifier: Fr, leafIndex: Fr, exists: boolean, isPending: boolean): void;
|
|
24
|
+
traceNewNullifier(storageAddress: Fr, nullifier: Fr): void;
|
|
25
|
+
traceL1ToL2MessageCheck(contractAddress: Fr, msgHash: Fr, msgLeafIndex: Fr, exists: boolean): void;
|
|
26
|
+
traceNewL2ToL1Message(contractAddress: Fr, recipient: Fr, content: Fr): void;
|
|
27
|
+
traceUnencryptedLog(contractAddress: Fr, log: Fr[]): void;
|
|
28
|
+
traceGetContractInstance(instance: TracedContractInstance): void;
|
|
29
|
+
/**
|
|
30
|
+
* Trace a nested call.
|
|
31
|
+
* Accept some results from a finished nested call's trace into this one.
|
|
32
|
+
*/
|
|
33
|
+
traceNestedCall(
|
|
34
|
+
/** The trace of the nested call. */
|
|
35
|
+
nestedCallTrace: this,
|
|
36
|
+
/** The execution environment of the nested call. */
|
|
37
|
+
nestedEnvironment: AvmExecutionEnvironment,
|
|
38
|
+
/** How much gas was available for this public execution. */
|
|
39
|
+
startGasLeft: Gas,
|
|
40
|
+
/** How much gas was left after this public execution. */
|
|
41
|
+
endGasLeft: Gas,
|
|
42
|
+
/** Bytecode used for this execution. */
|
|
43
|
+
bytecode: Buffer,
|
|
44
|
+
/** The call's results */
|
|
45
|
+
avmCallResults: AvmContractCallResult,
|
|
46
|
+
/** Function name for logging */
|
|
47
|
+
functionName?: string): void;
|
|
48
|
+
/**
|
|
49
|
+
* Convert this trace to a PublicExecutionResult for use externally to the simulator.
|
|
50
|
+
*/
|
|
51
|
+
toPublicExecutionResult(
|
|
52
|
+
/** The execution environment of the nested call. */
|
|
53
|
+
avmEnvironment: AvmExecutionEnvironment,
|
|
54
|
+
/** How much gas was available for this public execution. */
|
|
55
|
+
startGasLeft: Gas,
|
|
56
|
+
/** How much gas was left after this public execution. */
|
|
57
|
+
endGasLeft: Gas,
|
|
58
|
+
/** Bytecode used for this execution. */
|
|
59
|
+
bytecode: Buffer,
|
|
60
|
+
/** The call's results */
|
|
61
|
+
avmCallResults: AvmContractCallResult,
|
|
62
|
+
/** Function name for logging */
|
|
63
|
+
functionName?: string): PublicExecutionResult;
|
|
64
|
+
toVMCircuitPublicInputs(
|
|
65
|
+
/** Constants */
|
|
66
|
+
constants: CombinedConstantData,
|
|
67
|
+
/** The execution environment of the nested call. */
|
|
68
|
+
avmEnvironment: AvmExecutionEnvironment,
|
|
69
|
+
/** How much gas was available for this public execution. */
|
|
70
|
+
startGasLeft: Gas,
|
|
71
|
+
/** How much gas was left after this public execution. */
|
|
72
|
+
endGasLeft: Gas,
|
|
73
|
+
/** The call's results */
|
|
74
|
+
avmCallResults: AvmContractCallResult): VMCircuitPublicInputs;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=dual_side_effect_trace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dual_side_effect_trace.d.ts","sourceRoot":"","sources":["../../src/public/dual_side_effect_trace.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { assert } from 'console';
|
|
2
|
+
export class DualSideEffectTrace {
|
|
3
|
+
constructor(innerCallTrace, enqueuedCallTrace) {
|
|
4
|
+
this.innerCallTrace = innerCallTrace;
|
|
5
|
+
this.enqueuedCallTrace = enqueuedCallTrace;
|
|
6
|
+
}
|
|
7
|
+
fork() {
|
|
8
|
+
return new DualSideEffectTrace(this.innerCallTrace.fork(), this.enqueuedCallTrace.fork());
|
|
9
|
+
}
|
|
10
|
+
getCounter() {
|
|
11
|
+
assert(this.innerCallTrace.getCounter() == this.enqueuedCallTrace.getCounter());
|
|
12
|
+
return this.innerCallTrace.getCounter();
|
|
13
|
+
}
|
|
14
|
+
tracePublicStorageRead(storageAddress, slot, value, exists, cached) {
|
|
15
|
+
this.innerCallTrace.tracePublicStorageRead(storageAddress, slot, value, exists, cached);
|
|
16
|
+
this.enqueuedCallTrace.tracePublicStorageRead(storageAddress, slot, value, exists, cached);
|
|
17
|
+
}
|
|
18
|
+
tracePublicStorageWrite(storageAddress, slot, value) {
|
|
19
|
+
this.innerCallTrace.tracePublicStorageWrite(storageAddress, slot, value);
|
|
20
|
+
this.enqueuedCallTrace.tracePublicStorageWrite(storageAddress, slot, value);
|
|
21
|
+
}
|
|
22
|
+
// TODO(8287): _exists can be removed once we have the vm properly handling the equality check
|
|
23
|
+
traceNoteHashCheck(_storageAddress, noteHash, leafIndex, exists) {
|
|
24
|
+
this.innerCallTrace.traceNoteHashCheck(_storageAddress, noteHash, leafIndex, exists);
|
|
25
|
+
this.enqueuedCallTrace.traceNoteHashCheck(_storageAddress, noteHash, leafIndex, exists);
|
|
26
|
+
}
|
|
27
|
+
traceNewNoteHash(_storageAddress, noteHash) {
|
|
28
|
+
this.innerCallTrace.traceNewNoteHash(_storageAddress, noteHash);
|
|
29
|
+
this.enqueuedCallTrace.traceNewNoteHash(_storageAddress, noteHash);
|
|
30
|
+
}
|
|
31
|
+
traceNullifierCheck(storageAddress, nullifier, leafIndex, exists, isPending) {
|
|
32
|
+
this.innerCallTrace.traceNullifierCheck(storageAddress, nullifier, leafIndex, exists, isPending);
|
|
33
|
+
this.enqueuedCallTrace.traceNullifierCheck(storageAddress, nullifier, leafIndex, exists, isPending);
|
|
34
|
+
}
|
|
35
|
+
traceNewNullifier(storageAddress, nullifier) {
|
|
36
|
+
this.innerCallTrace.traceNewNullifier(storageAddress, nullifier);
|
|
37
|
+
this.enqueuedCallTrace.traceNewNullifier(storageAddress, nullifier);
|
|
38
|
+
}
|
|
39
|
+
traceL1ToL2MessageCheck(contractAddress, msgHash, msgLeafIndex, exists) {
|
|
40
|
+
this.innerCallTrace.traceL1ToL2MessageCheck(contractAddress, msgHash, msgLeafIndex, exists);
|
|
41
|
+
this.enqueuedCallTrace.traceL1ToL2MessageCheck(contractAddress, msgHash, msgLeafIndex, exists);
|
|
42
|
+
}
|
|
43
|
+
traceNewL2ToL1Message(contractAddress, recipient, content) {
|
|
44
|
+
this.innerCallTrace.traceNewL2ToL1Message(contractAddress, recipient, content);
|
|
45
|
+
this.enqueuedCallTrace.traceNewL2ToL1Message(contractAddress, recipient, content);
|
|
46
|
+
}
|
|
47
|
+
traceUnencryptedLog(contractAddress, log) {
|
|
48
|
+
this.innerCallTrace.traceUnencryptedLog(contractAddress, log);
|
|
49
|
+
this.enqueuedCallTrace.traceUnencryptedLog(contractAddress, log);
|
|
50
|
+
}
|
|
51
|
+
traceGetContractInstance(instance) {
|
|
52
|
+
this.innerCallTrace.traceGetContractInstance(instance);
|
|
53
|
+
this.enqueuedCallTrace.traceGetContractInstance(instance);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Trace a nested call.
|
|
57
|
+
* Accept some results from a finished nested call's trace into this one.
|
|
58
|
+
*/
|
|
59
|
+
traceNestedCall(
|
|
60
|
+
/** The trace of the nested call. */
|
|
61
|
+
nestedCallTrace,
|
|
62
|
+
/** The execution environment of the nested call. */
|
|
63
|
+
nestedEnvironment,
|
|
64
|
+
/** How much gas was available for this public execution. */
|
|
65
|
+
startGasLeft,
|
|
66
|
+
/** How much gas was left after this public execution. */
|
|
67
|
+
endGasLeft,
|
|
68
|
+
/** Bytecode used for this execution. */
|
|
69
|
+
bytecode,
|
|
70
|
+
/** The call's results */
|
|
71
|
+
avmCallResults,
|
|
72
|
+
/** Function name for logging */
|
|
73
|
+
functionName = 'unknown') {
|
|
74
|
+
this.innerCallTrace.traceNestedCall(nestedCallTrace.innerCallTrace, nestedEnvironment, startGasLeft, endGasLeft, bytecode, avmCallResults, functionName);
|
|
75
|
+
this.enqueuedCallTrace.traceNestedCall(nestedCallTrace.enqueuedCallTrace, nestedEnvironment, startGasLeft, endGasLeft, bytecode, avmCallResults, functionName);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Convert this trace to a PublicExecutionResult for use externally to the simulator.
|
|
79
|
+
*/
|
|
80
|
+
toPublicExecutionResult(
|
|
81
|
+
/** The execution environment of the nested call. */
|
|
82
|
+
avmEnvironment,
|
|
83
|
+
/** How much gas was available for this public execution. */
|
|
84
|
+
startGasLeft,
|
|
85
|
+
/** How much gas was left after this public execution. */
|
|
86
|
+
endGasLeft,
|
|
87
|
+
/** Bytecode used for this execution. */
|
|
88
|
+
bytecode,
|
|
89
|
+
/** The call's results */
|
|
90
|
+
avmCallResults,
|
|
91
|
+
/** Function name for logging */
|
|
92
|
+
functionName = 'unknown') {
|
|
93
|
+
return this.innerCallTrace.toPublicExecutionResult(avmEnvironment, startGasLeft, endGasLeft, bytecode, avmCallResults, functionName);
|
|
94
|
+
}
|
|
95
|
+
toVMCircuitPublicInputs(
|
|
96
|
+
/** Constants */
|
|
97
|
+
constants,
|
|
98
|
+
/** The execution environment of the nested call. */
|
|
99
|
+
avmEnvironment,
|
|
100
|
+
/** How much gas was available for this public execution. */
|
|
101
|
+
startGasLeft,
|
|
102
|
+
/** How much gas was left after this public execution. */
|
|
103
|
+
endGasLeft,
|
|
104
|
+
/** The call's results */
|
|
105
|
+
avmCallResults) {
|
|
106
|
+
return this.enqueuedCallTrace.toVMCircuitPublicInputs(constants, avmEnvironment, startGasLeft, endGasLeft, avmCallResults);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVhbF9zaWRlX2VmZmVjdF90cmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvZHVhbF9zaWRlX2VmZmVjdF90cmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBV2pDLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFDa0IsY0FBcUMsRUFDckMsaUJBQW9EO1FBRHBELG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNyQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1DO0lBQ25FLENBQUM7SUFFRyxJQUFJO1FBQ1QsT0FBTyxJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVNLFVBQVU7UUFDZixNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNoRixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVNLHNCQUFzQixDQUFDLGNBQWtCLEVBQUUsSUFBUSxFQUFFLEtBQVMsRUFBRSxNQUFlLEVBQUUsTUFBZTtRQUNyRyxJQUFJLENBQUMsY0FBYyxDQUFDLHNCQUFzQixDQUFDLGNBQWMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN4RixJQUFJLENBQUMsaUJBQWlCLENBQUMsc0JBQXNCLENBQUMsY0FBYyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxjQUFrQixFQUFFLElBQVEsRUFBRSxLQUFTO1FB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
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
import { UnencryptedL2Log } from '@aztec/circuit-types';
|
|
3
|
+
import { AvmExecutionHints, type CombinedConstantData, type ContractInstanceWithAddress, ContractStorageRead, ContractStorageUpdateRequest, Gas, PublicAccumulatedDataArrayLengths, PublicValidationRequestArrayLengths, ScopedL2ToL1Message, ScopedLogHash, ScopedNoteHash, type ScopedNullifier, ScopedReadRequest, TreeLeafReadRequest, VMCircuitPublicInputs } from '@aztec/circuits.js';
|
|
4
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
5
|
+
import { type AvmContractCallResult } from '../avm/avm_contract_call_result.js';
|
|
6
|
+
import { type AvmExecutionEnvironment } from '../avm/avm_execution_environment.js';
|
|
7
|
+
import { type PublicSideEffectTraceInterface } from './side_effect_trace_interface.js';
|
|
8
|
+
export type TracedContractInstance = {
|
|
9
|
+
exists: boolean;
|
|
10
|
+
} & ContractInstanceWithAddress;
|
|
11
|
+
/**
|
|
12
|
+
* A struct containing just the side effects as regular arrays
|
|
13
|
+
* as opposed to "Tuple" arrays used by circuit public inputs.
|
|
14
|
+
* This struct is helpful for testing and checking array lengths.
|
|
15
|
+
**/
|
|
16
|
+
export type SideEffects = {
|
|
17
|
+
contractStorageReads: ContractStorageRead[];
|
|
18
|
+
contractStorageUpdateRequests: ContractStorageUpdateRequest[];
|
|
19
|
+
noteHashReadRequests: TreeLeafReadRequest[];
|
|
20
|
+
noteHashes: ScopedNoteHash[];
|
|
21
|
+
nullifierReadRequests: ScopedReadRequest[];
|
|
22
|
+
nullifierNonExistentReadRequests: ScopedReadRequest[];
|
|
23
|
+
nullifiers: ScopedNullifier[];
|
|
24
|
+
l1ToL2MsgReadRequests: TreeLeafReadRequest[];
|
|
25
|
+
l2ToL1Msgs: ScopedL2ToL1Message[];
|
|
26
|
+
unencryptedLogs: UnencryptedL2Log[];
|
|
27
|
+
unencryptedLogsHashes: ScopedLogHash[];
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Trace side effects for an entire enqueued call.
|
|
31
|
+
*/
|
|
32
|
+
export declare class PublicEnqueuedCallSideEffectTrace implements PublicSideEffectTraceInterface {
|
|
33
|
+
/** The counter of this trace's first side effect. */
|
|
34
|
+
readonly startSideEffectCounter: number;
|
|
35
|
+
/** Track parent's (or previous kernel's) lengths so the AVM can properly enforce TX-wide limits,
|
|
36
|
+
* otherwise the public kernel can fail to prove because TX limits are breached.
|
|
37
|
+
*/
|
|
38
|
+
private readonly previousValidationRequestArrayLengths;
|
|
39
|
+
private readonly previousAccumulatedDataArrayLengths;
|
|
40
|
+
log: import("@aztec/foundation/log").Logger;
|
|
41
|
+
/** The side effect counter increments with every call to the trace. */
|
|
42
|
+
private sideEffectCounter;
|
|
43
|
+
private contractStorageReads;
|
|
44
|
+
private contractStorageUpdateRequests;
|
|
45
|
+
private noteHashReadRequests;
|
|
46
|
+
private noteHashes;
|
|
47
|
+
private nullifierReadRequests;
|
|
48
|
+
private nullifierNonExistentReadRequests;
|
|
49
|
+
private nullifiers;
|
|
50
|
+
private l1ToL2MsgReadRequests;
|
|
51
|
+
private l2ToL1Msgs;
|
|
52
|
+
private unencryptedLogs;
|
|
53
|
+
private unencryptedLogsHashes;
|
|
54
|
+
private avmCircuitHints;
|
|
55
|
+
constructor(
|
|
56
|
+
/** The counter of this trace's first side effect. */
|
|
57
|
+
startSideEffectCounter?: number,
|
|
58
|
+
/** Track parent's (or previous kernel's) lengths so the AVM can properly enforce TX-wide limits,
|
|
59
|
+
* otherwise the public kernel can fail to prove because TX limits are breached.
|
|
60
|
+
*/
|
|
61
|
+
previousValidationRequestArrayLengths?: PublicValidationRequestArrayLengths, previousAccumulatedDataArrayLengths?: PublicAccumulatedDataArrayLengths);
|
|
62
|
+
fork(): PublicEnqueuedCallSideEffectTrace;
|
|
63
|
+
getCounter(): number;
|
|
64
|
+
private incrementSideEffectCounter;
|
|
65
|
+
tracePublicStorageRead(storageAddress: Fr, slot: Fr, value: Fr, _exists: boolean, _cached: boolean): void;
|
|
66
|
+
tracePublicStorageWrite(storageAddress: Fr, slot: Fr, value: Fr): void;
|
|
67
|
+
traceNoteHashCheck(_storageAddress: Fr, noteHash: Fr, leafIndex: Fr, exists: boolean): void;
|
|
68
|
+
traceNewNoteHash(storageAddress: Fr, noteHash: Fr): void;
|
|
69
|
+
traceNullifierCheck(storageAddress: Fr, nullifier: Fr, _leafIndex: Fr, exists: boolean, _isPending: boolean): void;
|
|
70
|
+
traceNewNullifier(storageAddress: Fr, nullifier: Fr): void;
|
|
71
|
+
traceL1ToL2MessageCheck(_contractAddress: Fr, msgHash: Fr, msgLeafIndex: Fr, exists: boolean): void;
|
|
72
|
+
traceNewL2ToL1Message(contractAddress: Fr, recipient: Fr, content: Fr): void;
|
|
73
|
+
traceUnencryptedLog(contractAddress: Fr, log: Fr[]): void;
|
|
74
|
+
traceGetContractInstance(instance: TracedContractInstance): void;
|
|
75
|
+
/**
|
|
76
|
+
* Trace a nested call.
|
|
77
|
+
* Accept some results from a finished nested call's trace into this one.
|
|
78
|
+
*/
|
|
79
|
+
traceNestedCall(
|
|
80
|
+
/** The trace of the nested call. */
|
|
81
|
+
nestedCallTrace: this,
|
|
82
|
+
/** The execution environment of the nested call. */
|
|
83
|
+
_nestedEnvironment: AvmExecutionEnvironment,
|
|
84
|
+
/** How much gas was available for this public execution. */
|
|
85
|
+
startGasLeft: Gas,
|
|
86
|
+
/** How much gas was left after this public execution. */
|
|
87
|
+
endGasLeft: Gas,
|
|
88
|
+
/** Bytecode used for this execution. */
|
|
89
|
+
_bytecode: Buffer,
|
|
90
|
+
/** The call's results */
|
|
91
|
+
avmCallResults: AvmContractCallResult,
|
|
92
|
+
/** Function name for logging */
|
|
93
|
+
_functionName?: string): void;
|
|
94
|
+
absorbSuccessfulNestedTrace(nestedTrace: this): void;
|
|
95
|
+
absorbRevertedNestedTrace(nestedTrace: this): void;
|
|
96
|
+
getSideEffects(): SideEffects;
|
|
97
|
+
toVMCircuitPublicInputs(
|
|
98
|
+
/** Constants. */
|
|
99
|
+
constants: CombinedConstantData,
|
|
100
|
+
/** The execution environment of the nested call. */
|
|
101
|
+
avmEnvironment: AvmExecutionEnvironment,
|
|
102
|
+
/** How much gas was available for this public execution. */
|
|
103
|
+
startGasLeft: Gas,
|
|
104
|
+
/** How much gas was left after this public execution. */
|
|
105
|
+
endGasLeft: Gas,
|
|
106
|
+
/** The call's results */
|
|
107
|
+
avmCallResults: AvmContractCallResult): VMCircuitPublicInputs;
|
|
108
|
+
getUnencryptedLogs(): UnencryptedL2Log[];
|
|
109
|
+
getAvmCircuitHints(): AvmExecutionHints;
|
|
110
|
+
private getValidationRequests;
|
|
111
|
+
private getAccumulatedData;
|
|
112
|
+
private enforceLimitOnNullifierChecks;
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=enqueued_call_side_effect_trace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enqueued_call_side_effect_trace.d.ts","sourceRoot":"","sources":["../../src/public/enqueued_call_side_effect_trace.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAEL,iBAAiB,EAKjB,KAAK,oBAAoB,EACzB,KAAK,2BAA2B,EAChC,mBAAmB,EACnB,4BAA4B,EAE5B,GAAG,EAmBH,iCAAiC,EAKjC,mCAAmC,EAInC,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,KAAK,eAAe,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG9C,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAEnF,OAAO,EAAE,KAAK,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAEvF,MAAM,MAAM,sBAAsB,GAAG;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG,2BAA2B,CAAC;AAEvF;;;;IAII;AACJ,MAAM,MAAM,WAAW,GAAG;IACxB,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC5C,6BAA6B,EAAE,4BAA4B,EAAE,CAAC;IAE9D,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC5C,UAAU,EAAE,cAAc,EAAE,CAAC;IAE7B,qBAAqB,EAAE,iBAAiB,EAAE,CAAC;IAC3C,gCAAgC,EAAE,iBAAiB,EAAE,CAAC;IACtD,UAAU,EAAE,eAAe,EAAE,CAAC;IAE9B,qBAAqB,EAAE,mBAAmB,EAAE,CAAC;IAC7C,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAElC,eAAe,EAAE,gBAAgB,EAAE,CAAC;IACpC,qBAAqB,EAAE,aAAa,EAAE,CAAC;CACxC,CAAC;AAEF;;GAEG;AACH,qBAAa,iCAAkC,YAAW,8BAA8B;IA2BpF,qDAAqD;aACrC,sBAAsB,EAAE,MAAM;IAC9C;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,qCAAqC;IACtD,OAAO,CAAC,QAAQ,CAAC,mCAAmC;IAhC/C,GAAG,yCAAqE;IAE/E,uEAAuE;IACvE,OAAO,CAAC,iBAAiB,CAAS;IAIlC,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,6BAA6B,CAAsC;IAE3E,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,UAAU,CAAwB;IAE1C,OAAO,CAAC,qBAAqB,CAA2B;IACxD,OAAO,CAAC,gCAAgC,CAA2B;IACnE,OAAO,CAAC,UAAU,CAAyB;IAE3C,OAAO,CAAC,qBAAqB,CAA6B;IAC1D,OAAO,CAAC,UAAU,CAA6B;IAE/C,OAAO,CAAC,eAAe,CAA0B;IACjD,OAAO,CAAC,qBAAqB,CAAuB;IAEpD,OAAO,CAAC,eAAe,CAAoB;;IAGzC,qDAAqD;IACrC,sBAAsB,GAAE,MAAU;IAClD;;OAEG;IACc,qCAAqC,GAAE,mCAAiF,EACxH,mCAAmC,GAAE,iCAA6E;IAM9H,IAAI;IAwBJ,UAAU;IAIjB,OAAO,CAAC,0BAA0B;IAI3B,sBAAsB,CAAC,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAmBlG,uBAAuB,CAAC,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;IAgB/D,kBAAkB,CAAC,eAAe,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO;IAgBpF,gBAAgB,CAAC,cAAc,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE;IAUjD,mBAAmB,CAAC,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO;IAmB3G,iBAAiB,CAAC,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE;IAenD,uBAAuB,CAAC,gBAAgB,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO;IAe5F,qBAAqB,CAAC,eAAe,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;IAerE,mBAAmB,CAAC,eAAe,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;IAyBlD,wBAAwB,CAAC,QAAQ,EAAE,sBAAsB;IAmBhE;;;OAGG;IACI,eAAe;IACpB,oCAAoC;IACpC,eAAe,EAAE,IAAI;IACrB,oDAAoD;IACpD,kBAAkB,EAAE,uBAAuB;IAC3C,4DAA4D;IAC5D,YAAY,EAAE,GAAG;IACjB,yDAAyD;IACzD,UAAU,EAAE,GAAG;IACf,wCAAwC;IACxC,SAAS,EAAE,MAAM;IACjB,yBAAyB;IACzB,cAAc,EAAE,qBAAqB;IACrC,gCAAgC;IAChC,aAAa,GAAE,MAAkB;IA4B5B,2BAA2B,CAAC,WAAW,EAAE,IAAI;IAe7C,yBAAyB,CAAC,WAAW,EAAE,IAAI;IAmB3C,cAAc,IAAI,WAAW;IAgB7B,uBAAuB;IAC5B,iBAAiB;IACjB,SAAS,EAAE,oBAAoB;IAC/B,oDAAoD;IACpD,cAAc,EAAE,uBAAuB;IACvC,4DAA4D;IAC5D,YAAY,EAAE,GAAG;IACjB,yDAAyD;IACzD,UAAU,EAAE,GAAG;IACf,yBAAyB;IACzB,cAAc,EAAE,qBAAqB,GACpC,qBAAqB;IAkBjB,kBAAkB;IAIlB,kBAAkB;IAIzB,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,kBAAkB;IAwB1B,OAAO,CAAC,6BAA6B;CA2BtC"}
|