@aztec/simulator 0.57.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.js +2 -2
- package/dest/acvm/oracle/typed_oracle.d.ts +1 -2
- package/dest/acvm/oracle/typed_oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/typed_oracle.js +1 -1
- package/dest/avm/avm_gas.js +2 -2
- package/dest/avm/avm_memory_types.d.ts +7 -3
- package/dest/avm/avm_memory_types.d.ts.map +1 -1
- package/dest/avm/avm_memory_types.js +29 -14
- package/dest/avm/avm_simulator.d.ts.map +1 -1
- package/dest/avm/avm_simulator.js +5 -2
- package/dest/avm/fixtures/index.d.ts.map +1 -1
- package/dest/avm/fixtures/index.js +3 -3
- package/dest/avm/journal/journal.d.ts.map +1 -1
- package/dest/avm/journal/journal.js +2 -3
- package/dest/avm/opcodes/accrued_substate.js +17 -17
- package/dest/avm/opcodes/arithmetic.js +2 -2
- 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 +9 -8
- package/dest/avm/opcodes/comparators.js +2 -2
- package/dest/avm/opcodes/contract.d.ts.map +1 -1
- package/dest/avm/opcodes/contract.js +4 -3
- package/dest/avm/opcodes/control_flow.js +1 -1
- package/dest/avm/opcodes/conversion.js +4 -4
- package/dest/avm/opcodes/ec_add.d.ts.map +1 -1
- package/dest/avm/opcodes/ec_add.js +18 -9
- package/dest/avm/opcodes/external_calls.js +10 -10
- package/dest/avm/opcodes/hashing.js +8 -8
- 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.js +3 -3
- package/dest/avm/opcodes/misc.js +4 -4
- package/dest/avm/opcodes/multi_scalar_mul.d.ts.map +1 -1
- package/dest/avm/opcodes/multi_scalar_mul.js +24 -9
- package/dest/avm/opcodes/storage.js +2 -2
- package/dest/avm/serialization/instruction_serialization.js +2 -2
- 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.map +1 -1
- package/dest/client/client_execution_context.js +7 -3
- 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 -0
- package/dest/client/index.d.ts.map +1 -1
- package/dest/client/index.js +2 -1
- package/dest/client/private_execution.d.ts +10 -1
- package/dest/client/private_execution.d.ts.map +1 -1
- package/dest/client/private_execution.js +25 -5
- 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/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 +18 -7
- 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 +3 -4
- package/dest/public/execution.d.ts.map +1 -1
- package/dest/public/execution.js +1 -1
- package/dest/public/executor.d.ts +6 -4
- package/dest/public/executor.d.ts.map +1 -1
- package/dest/public/executor.js +18 -9
- 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 +1 -1
- 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 -11
- package/dest/public/public_processor.d.ts.map +1 -1
- package/dest/public/public_processor.js +8 -12
- package/dest/public/side_effect_trace.d.ts +1 -2
- package/dest/public/side_effect_trace.d.ts.map +1 -1
- package/dest/public/side_effect_trace.js +2 -2
- package/package.json +9 -9
- package/src/acvm/oracle/oracle.ts +1 -1
- package/src/acvm/oracle/typed_oracle.ts +6 -2
- package/src/avm/avm_gas.ts +1 -1
- package/src/avm/avm_memory_types.ts +28 -11
- package/src/avm/avm_simulator.ts +7 -1
- package/src/avm/fixtures/index.ts +2 -2
- package/src/avm/journal/journal.ts +3 -4
- package/src/avm/opcodes/accrued_substate.ts +17 -17
- package/src/avm/opcodes/arithmetic.ts +1 -1
- package/src/avm/opcodes/bitwise.ts +8 -7
- package/src/avm/opcodes/comparators.ts +1 -1
- package/src/avm/opcodes/contract.ts +3 -2
- package/src/avm/opcodes/control_flow.ts +1 -1
- package/src/avm/opcodes/conversion.ts +4 -4
- package/src/avm/opcodes/ec_add.ts +15 -8
- package/src/avm/opcodes/external_calls.ts +10 -10
- package/src/avm/opcodes/hashing.ts +8 -8
- package/src/avm/opcodes/instruction_impl.ts +0 -3
- package/src/avm/opcodes/memory.ts +3 -3
- package/src/avm/opcodes/misc.ts +4 -4
- package/src/avm/opcodes/multi_scalar_mul.ts +20 -12
- package/src/avm/opcodes/storage.ts +2 -2
- package/src/avm/serialization/instruction_serialization.ts +1 -1
- package/src/avm/test_utils.ts +1 -2
- package/src/client/client_execution_context.ts +6 -1
- package/src/client/db_oracle.ts +6 -2
- package/src/client/index.ts +1 -0
- package/src/client/private_execution.ts +36 -6
- package/src/client/view_data_oracle.ts +1 -2
- 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 +33 -11
- package/src/public/enqueued_calls_processor.ts +4 -6
- package/src/public/execution.ts +2 -4
- package/src/public/executor.ts +38 -9
- package/src/public/fee_payment.ts +4 -6
- package/src/public/hints_builder.ts +2 -2
- 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 +16 -16
- package/src/public/side_effect_trace.ts +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { isNoirCallStackUnresolved } from '@aztec/circuit-types';
|
|
2
|
-
import { GasFees, GlobalVariables } from '@aztec/circuits.js';
|
|
2
|
+
import { GasFees, GlobalVariables, MAX_L2_GAS_PER_ENQUEUED_CALL } from '@aztec/circuits.js';
|
|
3
3
|
import { FunctionSelector, getFunctionDebugMetadata } from '@aztec/foundation/abi';
|
|
4
4
|
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
5
5
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
@@ -44,7 +44,7 @@ export function initGlobalVariables(overrides) {
|
|
|
44
44
|
*/
|
|
45
45
|
export function initMachineState(overrides) {
|
|
46
46
|
return AvmMachineState.fromState({
|
|
47
|
-
l2GasLeft: overrides?.l2GasLeft ??
|
|
47
|
+
l2GasLeft: overrides?.l2GasLeft ?? MAX_L2_GAS_PER_ENQUEUED_CALL,
|
|
48
48
|
daGasLeft: overrides?.daGasLeft ?? 1e8,
|
|
49
49
|
});
|
|
50
50
|
}
|
|
@@ -85,4 +85,4 @@ export function resolveAvmTestContractAssertionMessage(functionName, revertReaso
|
|
|
85
85
|
}
|
|
86
86
|
return resolveAssertionMessage(revertReason.noirCallStack, debugMetadata);
|
|
87
87
|
}
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXZtL2ZpeHR1cmVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDNUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFbkUsT0FBTyxFQUFFLE1BQU0sSUFBSSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDMUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzFDLE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUVqQyxPQUFPLEVBQXFCLHVCQUF1QixFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkUsT0FB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journal.d.ts","sourceRoot":"","sources":["../../../src/avm/journal/journal.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,KAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"journal.d.ts","sourceRoot":"","sources":["../../../src/avm/journal/journal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { AztecAddress } from '@aztec/circuits.js';
|
|
1
|
+
import { AztecAddress, SerializableContractInstance } from '@aztec/circuits.js';
|
|
2
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
3
3
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
4
|
-
import { SerializableContractInstance } from '@aztec/types/contracts';
|
|
5
4
|
import { getPublicFunctionDebugName } from '../../common/debug_fn_name.js';
|
|
6
5
|
import { NullifierManager } from './nullifiers.js';
|
|
7
6
|
import { PublicStorage } from './public_storage.js';
|
|
@@ -212,4 +211,4 @@ export class AvmPersistableStateManager {
|
|
|
212
211
|
this.trace.traceNestedCall(nestedState.trace, nestedEnvironment, startGasLeft, endGasLeft, bytecode, avmCallResults, functionName);
|
|
213
212
|
}
|
|
214
213
|
}
|
|
215
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
214
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam91cm5hbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdm0vam91cm5hbC9qb3VybmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQW1DLDRCQUE0QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakgsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBTTNFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVwRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sT0FBTywwQkFBMEI7SUFHckM7SUFDRSxnQ0FBZ0M7SUFDZixZQUEwQjtJQUMzQyx3QkFBd0I7SUFDUCxLQUFxQztJQUN0RCw4Q0FBOEM7SUFDOUMsK0RBQStEO0lBQy9DLGFBQTRCO0lBQzVDLGtFQUFrRTtJQUNqRCxVQUE0QjtRQVA1QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUUxQixVQUFLLEdBQUwsS0FBSyxDQUFnQztRQUd0QyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUUzQixlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQVg5QixRQUFHLEdBQUcsaUJBQWlCLENBQUMsbUNBQW1DLENBQUMsQ0FBQztJQVkzRSxDQUFDO0lBRUo7O09BRUc7SUFDSSxNQUFNLENBQUMsOEJBQThCLENBQzFDLFlBQTBCLEVBQzFCLEtBQXFDLEVBQ3JDLHVCQUE2QjtRQUU3QixNQUFNLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLDhCQUE4QixDQUFDLFlBQVksRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1FBQ2hILE9BQU8sSUFBSSwwQkFBMEIsQ0FDbkMsWUFBWSxFQUNa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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TypeTag,
|
|
1
|
+
import { TypeTag, Uint1 } from '../avm_memory_types.js';
|
|
2
2
|
import { InstructionExecutionError, StaticCallAlterationError } from '../errors.js';
|
|
3
3
|
import { NullifierCollisionError } from '../journal/nullifiers.js';
|
|
4
4
|
import { Opcode, OperandType } from '../serialization/instruction_serialization.js';
|
|
@@ -23,7 +23,7 @@ export class NoteHashExists extends Instruction {
|
|
|
23
23
|
const noteHash = memory.get(noteHashOffset).toFr();
|
|
24
24
|
const leafIndex = memory.get(leafIndexOffset).toFr();
|
|
25
25
|
const exists = await context.persistableState.checkNoteHashExists(context.environment.storageAddress, noteHash, leafIndex);
|
|
26
|
-
memory.set(existsOffset, exists ? new
|
|
26
|
+
memory.set(existsOffset, exists ? new Uint1(1) : new Uint1(0));
|
|
27
27
|
memory.assert({ reads: 2, writes: 1, addressing });
|
|
28
28
|
context.machineState.incrementPc();
|
|
29
29
|
}
|
|
@@ -34,9 +34,9 @@ NoteHashExists.opcode = Opcode.NOTEHASHEXISTS;
|
|
|
34
34
|
NoteHashExists.wireFormat = [
|
|
35
35
|
OperandType.UINT8,
|
|
36
36
|
OperandType.UINT8,
|
|
37
|
-
OperandType.
|
|
38
|
-
OperandType.
|
|
39
|
-
OperandType.
|
|
37
|
+
OperandType.UINT16,
|
|
38
|
+
OperandType.UINT16,
|
|
39
|
+
OperandType.UINT16,
|
|
40
40
|
];
|
|
41
41
|
export class EmitNoteHash extends Instruction {
|
|
42
42
|
constructor(indirect, noteHashOffset) {
|
|
@@ -63,7 +63,7 @@ export class EmitNoteHash extends Instruction {
|
|
|
63
63
|
EmitNoteHash.type = 'EMITNOTEHASH';
|
|
64
64
|
EmitNoteHash.opcode = Opcode.EMITNOTEHASH;
|
|
65
65
|
// Informs (de)serialization. See Instruction.deserialize.
|
|
66
|
-
EmitNoteHash.wireFormat = [OperandType.UINT8, OperandType.UINT8, OperandType.
|
|
66
|
+
EmitNoteHash.wireFormat = [OperandType.UINT8, OperandType.UINT8, OperandType.UINT16];
|
|
67
67
|
export class NullifierExists extends Instruction {
|
|
68
68
|
constructor(indirect, nullifierOffset, addressOffset, existsOffset) {
|
|
69
69
|
super();
|
|
@@ -82,7 +82,7 @@ export class NullifierExists extends Instruction {
|
|
|
82
82
|
const nullifier = memory.get(nullifierOffset).toFr();
|
|
83
83
|
const address = memory.get(addressOffset).toFr();
|
|
84
84
|
const exists = await context.persistableState.checkNullifierExists(address, nullifier);
|
|
85
|
-
memory.set(existsOffset, exists ? new
|
|
85
|
+
memory.set(existsOffset, exists ? new Uint1(1) : new Uint1(0));
|
|
86
86
|
memory.assert({ reads: 2, writes: 1, addressing });
|
|
87
87
|
context.machineState.incrementPc();
|
|
88
88
|
}
|
|
@@ -93,9 +93,9 @@ NullifierExists.opcode = Opcode.NULLIFIEREXISTS;
|
|
|
93
93
|
NullifierExists.wireFormat = [
|
|
94
94
|
OperandType.UINT8,
|
|
95
95
|
OperandType.UINT8,
|
|
96
|
-
OperandType.
|
|
97
|
-
OperandType.
|
|
98
|
-
OperandType.
|
|
96
|
+
OperandType.UINT16,
|
|
97
|
+
OperandType.UINT16,
|
|
98
|
+
OperandType.UINT16,
|
|
99
99
|
];
|
|
100
100
|
export class EmitNullifier extends Instruction {
|
|
101
101
|
constructor(indirect, nullifierOffset) {
|
|
@@ -133,7 +133,7 @@ export class EmitNullifier extends Instruction {
|
|
|
133
133
|
EmitNullifier.type = 'EMITNULLIFIER';
|
|
134
134
|
EmitNullifier.opcode = Opcode.EMITNULLIFIER;
|
|
135
135
|
// Informs (de)serialization. See Instruction.deserialize.
|
|
136
|
-
EmitNullifier.wireFormat = [OperandType.UINT8, OperandType.UINT8, OperandType.
|
|
136
|
+
EmitNullifier.wireFormat = [OperandType.UINT8, OperandType.UINT8, OperandType.UINT16];
|
|
137
137
|
export class L1ToL2MessageExists extends Instruction {
|
|
138
138
|
constructor(indirect, msgHashOffset, msgLeafIndexOffset, existsOffset) {
|
|
139
139
|
super();
|
|
@@ -152,7 +152,7 @@ export class L1ToL2MessageExists extends Instruction {
|
|
|
152
152
|
const msgHash = memory.get(msgHashOffset).toFr();
|
|
153
153
|
const msgLeafIndex = memory.get(msgLeafIndexOffset).toFr();
|
|
154
154
|
const exists = await context.persistableState.checkL1ToL2MessageExists(context.environment.address, msgHash, msgLeafIndex);
|
|
155
|
-
memory.set(existsOffset, exists ? new
|
|
155
|
+
memory.set(existsOffset, exists ? new Uint1(1) : new Uint1(0));
|
|
156
156
|
memory.assert({ reads: 2, writes: 1, addressing });
|
|
157
157
|
context.machineState.incrementPc();
|
|
158
158
|
}
|
|
@@ -163,9 +163,9 @@ L1ToL2MessageExists.opcode = Opcode.L1TOL2MSGEXISTS;
|
|
|
163
163
|
L1ToL2MessageExists.wireFormat = [
|
|
164
164
|
OperandType.UINT8,
|
|
165
165
|
OperandType.UINT8,
|
|
166
|
-
OperandType.
|
|
167
|
-
OperandType.
|
|
168
|
-
OperandType.
|
|
166
|
+
OperandType.UINT16,
|
|
167
|
+
OperandType.UINT16,
|
|
168
|
+
OperandType.UINT16,
|
|
169
169
|
];
|
|
170
170
|
export class EmitUnencryptedLog extends Instruction {
|
|
171
171
|
constructor(indirect, logOffset, logSizeOffset) {
|
|
@@ -196,7 +196,7 @@ export class EmitUnencryptedLog extends Instruction {
|
|
|
196
196
|
EmitUnencryptedLog.type = 'EMITUNENCRYPTEDLOG';
|
|
197
197
|
EmitUnencryptedLog.opcode = Opcode.EMITUNENCRYPTEDLOG;
|
|
198
198
|
// Informs (de)serialization. See Instruction.deserialize.
|
|
199
|
-
EmitUnencryptedLog.wireFormat = [OperandType.UINT8, OperandType.UINT8, OperandType.
|
|
199
|
+
EmitUnencryptedLog.wireFormat = [OperandType.UINT8, OperandType.UINT8, OperandType.UINT16, OperandType.UINT16];
|
|
200
200
|
export class SendL2ToL1Message extends Instruction {
|
|
201
201
|
constructor(indirect, recipientOffset, contentOffset) {
|
|
202
202
|
super();
|
|
@@ -223,5 +223,5 @@ export class SendL2ToL1Message extends Instruction {
|
|
|
223
223
|
SendL2ToL1Message.type = 'SENDL2TOL1MSG';
|
|
224
224
|
SendL2ToL1Message.opcode = Opcode.SENDL2TOL1MSG;
|
|
225
225
|
// Informs (de)serialization. See Instruction.deserialize.
|
|
226
|
-
SendL2ToL1Message.wireFormat = [OperandType.UINT8, OperandType.UINT8, OperandType.
|
|
226
|
+
SendL2ToL1Message.wireFormat = [OperandType.UINT8, OperandType.UINT8, OperandType.UINT16, OperandType.UINT16];
|
|
227
227
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjcnVlZF9zdWJzdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdm0vb3Bjb2Rlcy9hY2NydWVkX3N1YnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLHlCQUF5QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDcEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUvQyxNQUFNLE9BQU8sY0FBZSxTQUFRLFdBQVc7SUFZN0MsWUFDVSxRQUFnQixFQUNoQixjQUFzQixFQUN0QixlQUF1QixFQUN2QixZQUFvQjtRQUU1QixLQUFLLEVBQUUsQ0FBQztRQUxBLGFBQVEsR0FBUixRQUFRLENBQVE7UUFDaEIsbUJBQWMsR0FBZCxjQUFjLENBQVE7UUFDdEIsb0JBQWUsR0FBZixlQUFlLENBQVE7UUFDdkIsaUJBQVksR0FBWixZQUFZLENBQVE7SUFHOUIsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBbUI7UUFDdEMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1RCxPQUFPLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNoRCxNQUFNLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFB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
|
|
@@ -8,7 +8,7 @@ export class ThreeOperandArithmeticInstruction extends ThreeOperandInstruction {
|
|
|
8
8
|
const operands = [this.aOffset, this.bOffset, this.dstOffset];
|
|
9
9
|
const addressing = Addressing.fromWire(this.indirect, operands.length);
|
|
10
10
|
const [aOffset, bOffset, dstOffset] = addressing.resolve(operands, memory);
|
|
11
|
-
memory.
|
|
11
|
+
memory.checkTagsAreSame(aOffset, bOffset);
|
|
12
12
|
const a = memory.get(aOffset);
|
|
13
13
|
const b = memory.get(bOffset);
|
|
14
14
|
const dest = this.compute(a, b);
|
|
@@ -54,4 +54,4 @@ export class FieldDiv extends ThreeOperandArithmeticInstruction {
|
|
|
54
54
|
}
|
|
55
55
|
FieldDiv.type = 'FDIV';
|
|
56
56
|
FieldDiv.opcode = Opcode.FDIV_8; // FIXME: needed for gas.
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJpdGhtZXRpYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdm0vb3Bjb2Rlcy9hcml0aG1ldGljLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFaEUsTUFBTSxPQUFnQixpQ0FBa0MsU0FBUSx1QkFBdUI7SUFDOUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFtQjtRQUN0QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVELE9BQU8sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBRWhELE1BQU0sUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5RCxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZFLE1BQU0sQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzNFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFMUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QixNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTlCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTVCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNuRCxPQUFPLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JDLENBQUM7Q0FHRjtBQUVELE1BQU0sT0FBTyxHQUFJLFNBQVEsaUNBQWlDO0lBSTlDLE9BQU8sQ0FBQyxDQUFjLEVBQUUsQ0FBYztRQUM5QyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQzs7QUFMZSxRQUFJLEdBQVcsS0FBSyxDQUFDO0FBQ3JCLFVBQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMseUJBQXlCO0FBT2xFLE1BQU0sT0FBTyxHQUFJLFNBQVEsaUNBQWlDO0lBSTlDLE9BQU8sQ0FBQyxDQUFjLEVBQUUsQ0FBYztRQUM5QyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQzs7QUFMZSxRQUFJLEdBQVcsS0FBSyxDQUFDO0FBQ3JCLFVBQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMseUJBQXlCO0FBT2xFLE1BQU0sT0FBTyxHQUFJLFNBQVEsaUNBQWlDO0lBSTlDLE9BQU8sQ0FBQyxDQUFjLEVBQUUsQ0FBYztRQUM5QyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQzs7QUFMTSxRQUFJLEdBQVcsS0FBSyxDQUFDO0FBQ1osVUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyx5QkFBeUI7QUFPbEUsTUFBTSxPQUFPLEdBQUksU0FBUSxpQ0FBaUM7SUFJOUMsT0FBTyxDQUFDLENBQWMsRUFBRSxDQUFjO1FBQzlDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDOztBQUxNLFFBQUksR0FBVyxLQUFLLENBQUM7QUFDWixVQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLHlCQUF5QjtBQU9sRSwwRUFBMEU7QUFDMUUsTUFBTSxPQUFPLFFBQVMsU0FBUSxpQ0FBaUM7SUFJbkQsT0FBTyxDQUFDLENBQVEsRUFBRSxDQUFRO1FBQ2xDLHdDQUF3QztRQUN4QyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkIsQ0FBQzs7QUFOTSxhQUFJLEdBQVcsTUFBTSxDQUFDO0FBQ2IsZUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyx5QkFBeUIifQ==
|
|
@@ -6,7 +6,7 @@ import { ThreeOperandInstruction } from './instruction_impl.js';
|
|
|
6
6
|
declare abstract class ThreeOperandBitwiseInstruction extends ThreeOperandInstruction {
|
|
7
7
|
execute(context: AvmContext): Promise<void>;
|
|
8
8
|
protected abstract compute(a: IntegralValue, b: IntegralValue): IntegralValue;
|
|
9
|
-
protected checkTags(memory: TaggedMemoryInterface,
|
|
9
|
+
protected checkTags(memory: TaggedMemoryInterface, aOffset: number, bOffset: number): void;
|
|
10
10
|
}
|
|
11
11
|
export declare class And extends ThreeOperandBitwiseInstruction {
|
|
12
12
|
static readonly type: string;
|
|
@@ -27,13 +27,13 @@ export declare class Shl extends ThreeOperandBitwiseInstruction {
|
|
|
27
27
|
static readonly type: string;
|
|
28
28
|
static readonly opcode = Opcode.SHL_8;
|
|
29
29
|
protected compute(a: IntegralValue, b: IntegralValue): IntegralValue;
|
|
30
|
-
protected checkTags(memory: TaggedMemoryInterface,
|
|
30
|
+
protected checkTags(memory: TaggedMemoryInterface, aOffset: number, bOffset: number): void;
|
|
31
31
|
}
|
|
32
32
|
export declare class Shr extends ThreeOperandBitwiseInstruction {
|
|
33
33
|
static readonly type: string;
|
|
34
34
|
static readonly opcode = Opcode.SHR_8;
|
|
35
35
|
protected compute(a: IntegralValue, b: IntegralValue): IntegralValue;
|
|
36
|
-
protected checkTags(memory: TaggedMemoryInterface,
|
|
36
|
+
protected checkTags(memory: TaggedMemoryInterface, aOffset: number, bOffset: number): void;
|
|
37
37
|
}
|
|
38
38
|
export declare class Not extends Instruction {
|
|
39
39
|
private indirect;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitwise.d.ts","sourceRoot":"","sources":["../../../src/avm/opcodes/bitwise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,aAAa,EAAgB,KAAK,qBAAqB,EAAW,MAAM,wBAAwB,CAAC;AAC/G,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAEpF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,uBAAe,8BAA+B,SAAQ,uBAAuB;IAC9D,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBxD,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,aAAa;IAC7E,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"bitwise.d.ts","sourceRoot":"","sources":["../../../src/avm/opcodes/bitwise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,aAAa,EAAgB,KAAK,qBAAqB,EAAW,MAAM,wBAAwB,CAAC;AAC/G,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAEpF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,uBAAe,8BAA+B,SAAQ,uBAAuB;IAC9D,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBxD,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,aAAa;IAC7E,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAIpF;AAED,qBAAa,GAAI,SAAQ,8BAA8B;IACrD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAS;IACrC,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;cAEnB,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,aAAa;CAG9E;AAED,qBAAa,EAAG,SAAQ,8BAA8B;IACpD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAQ;IACpC,MAAM,CAAC,QAAQ,CAAC,MAAM,eAAe;cAElB,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,aAAa;CAG9E;AAED,qBAAa,GAAI,SAAQ,8BAA8B;IACrD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAS;IACrC,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;cAEnB,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,aAAa;CAG9E;AAED,qBAAa,GAAI,SAAQ,8BAA8B;IACrD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAS;IACrC,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;cAEnB,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,aAAa;cAG1D,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI7F;AAED,qBAAa,GAAI,SAAQ,8BAA8B;IACrD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAS;IACrC,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;cAEnB,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,aAAa;cAG1D,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI7F;AAED,qBAAa,GAAI,SAAQ,WAAW;IAOtB,OAAO,CAAC,QAAQ;IAAU,OAAO,CAAC,SAAS;IAAU,OAAO,CAAC,SAAS;IANlF,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAS;IACrC,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;IAEtC,MAAM,CAAC,QAAQ,CAAC,WAAW,gBAAgF;IAC3G,MAAM,CAAC,QAAQ,CAAC,YAAY,gBAAkF;gBAE1F,QAAQ,EAAE,MAAM,EAAU,SAAS,EAAE,MAAM,EAAU,SAAS,EAAE,MAAM;IAI7E,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAgBzD"}
|
|
@@ -10,7 +10,7 @@ class ThreeOperandBitwiseInstruction extends ThreeOperandInstruction {
|
|
|
10
10
|
const operands = [this.aOffset, this.bOffset, this.dstOffset];
|
|
11
11
|
const addressing = Addressing.fromWire(this.indirect, operands.length);
|
|
12
12
|
const [aOffset, bOffset, dstOffset] = addressing.resolve(operands, memory);
|
|
13
|
-
this.checkTags(memory,
|
|
13
|
+
this.checkTags(memory, aOffset, bOffset);
|
|
14
14
|
const a = memory.getAs(aOffset);
|
|
15
15
|
const b = memory.getAs(bOffset);
|
|
16
16
|
const res = this.compute(a, b);
|
|
@@ -18,8 +18,9 @@ class ThreeOperandBitwiseInstruction extends ThreeOperandInstruction {
|
|
|
18
18
|
memory.assert({ reads: 2, writes: 1, addressing });
|
|
19
19
|
context.machineState.incrementPc();
|
|
20
20
|
}
|
|
21
|
-
checkTags(memory,
|
|
22
|
-
memory.
|
|
21
|
+
checkTags(memory, aOffset, bOffset) {
|
|
22
|
+
TaggedMemory.checkIsIntegralTag(memory.getTag(aOffset));
|
|
23
|
+
memory.checkTagsAreSame(aOffset, bOffset);
|
|
23
24
|
}
|
|
24
25
|
}
|
|
25
26
|
export class And extends ThreeOperandBitwiseInstruction {
|
|
@@ -47,8 +48,8 @@ export class Shl extends ThreeOperandBitwiseInstruction {
|
|
|
47
48
|
compute(a, b) {
|
|
48
49
|
return a.shl(b);
|
|
49
50
|
}
|
|
50
|
-
checkTags(memory,
|
|
51
|
-
memory.
|
|
51
|
+
checkTags(memory, aOffset, bOffset) {
|
|
52
|
+
TaggedMemory.checkIsIntegralTag(memory.getTag(aOffset));
|
|
52
53
|
memory.checkTag(TypeTag.UINT8, bOffset);
|
|
53
54
|
}
|
|
54
55
|
}
|
|
@@ -58,8 +59,8 @@ export class Shr extends ThreeOperandBitwiseInstruction {
|
|
|
58
59
|
compute(a, b) {
|
|
59
60
|
return a.shr(b);
|
|
60
61
|
}
|
|
61
|
-
checkTags(memory,
|
|
62
|
-
memory.
|
|
62
|
+
checkTags(memory, aOffset, bOffset) {
|
|
63
|
+
TaggedMemory.checkIsIntegralTag(memory.getTag(aOffset));
|
|
63
64
|
memory.checkTag(TypeTag.UINT8, bOffset);
|
|
64
65
|
}
|
|
65
66
|
}
|
|
@@ -90,4 +91,4 @@ Not.type = 'NOT';
|
|
|
90
91
|
Not.opcode = Opcode.NOT_8;
|
|
91
92
|
Not.wireFormat8 = [OperandType.UINT8, OperandType.UINT8, OperandType.UINT8, OperandType.UINT8];
|
|
92
93
|
Not.wireFormat16 = [OperandType.UINT8, OperandType.UINT8, OperandType.UINT16, OperandType.UINT16];
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0d2lzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdm0vb3Bjb2Rlcy9iaXR3aXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBc0IsWUFBWSxFQUE4QixPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRyxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFaEUsTUFBZSw4QkFBK0IsU0FBUSx1QkFBdUI7SUFDcEUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFtQjtRQUN0QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVELE9BQU8sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBRWhELE1BQU0sUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5RCxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZFLE1BQU0sQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLENB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
|
|
@@ -9,7 +9,7 @@ class ComparatorInstruction extends ThreeOperandInstruction {
|
|
|
9
9
|
const operands = [this.aOffset, this.bOffset, this.dstOffset];
|
|
10
10
|
const addressing = Addressing.fromWire(this.indirect, operands.length);
|
|
11
11
|
const [aOffset, bOffset, dstOffset] = addressing.resolve(operands, memory);
|
|
12
|
-
memory.
|
|
12
|
+
memory.checkTagsAreSame(aOffset, bOffset);
|
|
13
13
|
const a = memory.get(aOffset);
|
|
14
14
|
const b = memory.get(bOffset);
|
|
15
15
|
const dest = new Uint1(this.compare(a, b) ? 1 : 0);
|
|
@@ -39,4 +39,4 @@ export class Lte extends ComparatorInstruction {
|
|
|
39
39
|
}
|
|
40
40
|
Lte.type = 'LTE';
|
|
41
41
|
Lte.opcode = Opcode.LTE_8; // FIXME: needed for gas.
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyYXRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXZtL29wY29kZXMvY29tcGFyYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFvQixLQUFLLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDdkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWhFLE1BQWUscUJBQXNCLFNBQVEsdUJBQXVCO0lBQzNELEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBbUI7UUFDdEMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1RCxPQUFPLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUVoRCxNQUFNLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUQsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2RSxNQUFNLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMzRSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRTFDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUIsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU5QixNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRCxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUU1QixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDbkQsT0FBTyxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0NBR0Y7QUFFRCxNQUFNLE9BQU8sRUFBRyxTQUFRLHFCQUFxQjtJQUlqQyxPQUFPLENBQUMsQ0FBYyxFQUFFLENBQWM7UUFDOUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7O0FBTGUsT0FBSSxHQUFXLElBQUksQ0FBQztBQUNwQixTQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLHlCQUF5QjtBQU9qRSxNQUFNLE9BQU8sRUFBRyxTQUFRLHFCQUFxQjtJQUlqQyxPQUFPLENBQUMsQ0FBYyxFQUFFLENBQWM7UUFDOUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pCLENBQUM7O0FBTGUsT0FBSSxHQUFXLElBQUksQ0FBQztBQUNwQixTQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLHlCQUF5QjtBQU9qRSxNQUFNLE9BQU8sR0FBSSxTQUFRLHFCQUFxQjtJQUlsQyxPQUFPLENBQUMsQ0FBYyxFQUFFLENBQWM7UUFDOUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7QUFMZSxRQUFJLEdBQVcsS0FBSyxDQUFDO0FBQ3JCLFVBQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMseUJBQXlCIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../src/avm/opcodes/contract.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,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,mBAAoB,SAAQ,WAAW;IAWtC,OAAO,CAAC,QAAQ;IAAU,OAAO,CAAC,aAAa;IAAU,OAAO,CAAC,SAAS;IAVtF,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAyB;IACrD,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAA8B;IAE5D,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,CAKvC;gBAEkB,QAAQ,EAAE,MAAM,EAAU,aAAa,EAAE,MAAM,EAAU,SAAS,EAAE,MAAM;IAIxF,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../src/avm/opcodes/contract.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,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,mBAAoB,SAAQ,WAAW;IAWtC,OAAO,CAAC,QAAQ;IAAU,OAAO,CAAC,aAAa;IAAU,OAAO,CAAC,SAAS;IAVtF,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAyB;IACrD,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAA8B;IAE5D,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,CAKvC;gBAEkB,QAAQ,EAAE,MAAM,EAAU,aAAa,EAAE,MAAM,EAAU,SAAS,EAAE,MAAM;IAIxF,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CA2BlD"}
|
|
@@ -25,10 +25,11 @@ export class GetContractInstance extends Instruction {
|
|
|
25
25
|
instance.deployer.toField(),
|
|
26
26
|
instance.contractClassId,
|
|
27
27
|
instance.initializationHash,
|
|
28
|
-
|
|
28
|
+
// This this okay ?
|
|
29
|
+
...instance.publicKeys.toFields(),
|
|
29
30
|
].map(f => new Field(f));
|
|
30
31
|
memory.setSlice(dstOffset, data);
|
|
31
|
-
memory.assert({ reads: 1, writes:
|
|
32
|
+
memory.assert({ reads: 1, writes: 17, addressing });
|
|
32
33
|
context.machineState.incrementPc();
|
|
33
34
|
}
|
|
34
35
|
}
|
|
@@ -41,4 +42,4 @@ GetContractInstance.wireFormat = [
|
|
|
41
42
|
OperandType.UINT32,
|
|
42
43
|
OperandType.UINT32,
|
|
43
44
|
];
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXZtL29wY29kZXMvY29udHJhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3hDLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNwRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxXQUFXO0lBV2xELFlBQW9CLFFBQWdCLEVBQVUsYUFBcUIsRUFBVSxTQUFpQjtRQUM1RixLQUFLLEVBQUUsQ0FBQztRQURVLGFBQVEsR0FBUixRQUFRLENBQVE7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBUTtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQVE7SUFFOUYsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBbUI7UUFDL0IsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1RCxPQUFPLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUVoRCxNQUFNLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkUsTUFBTSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN4RSxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFFOUMsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqRCxNQUFNLFFBQVEsR0FBRyxNQUFNLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU3RSxNQUFNLElBQUksR0FBRztZQUNYLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDdkIsUUFBUSxDQUFDLElBQUk7WUFDYixRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRTtZQUMzQixRQUFRLENBQUMsZUFBZTtZQUN4QixRQUFRLENBQUMsa0JBQWtCO1lBQzNCLG1CQUFtQjtZQUNuQixHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFO1NBQ2xDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV6QixNQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVqQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDcEQsT0FBTyxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQyxDQUFDOztBQXhDZSx3QkFBSSxHQUFXLHFCQUFxQixDQUFDO0FBQ3JDLDBCQUFNLEdBQVcsTUFBTSxDQUFDLG1CQUFtQixDQUFDO0FBQzVELDBEQUEwRDtBQUMxQyw4QkFBVSxHQUFrQjtJQUMxQyxXQUFXLENBQUMsS0FBSztJQUNqQixXQUFXLENBQUMsS0FBSztJQUNqQixXQUFXLENBQUMsTUFBTTtJQUNsQixXQUFXLENBQUMsTUFBTTtDQUNuQixDQUFDIn0=
|
|
@@ -64,7 +64,7 @@ export class InternalCall extends Instruction {
|
|
|
64
64
|
InternalCall.type = 'INTERNALCALL';
|
|
65
65
|
InternalCall.opcode = Opcode.INTERNALCALL;
|
|
66
66
|
// Informs (de)serialization. See Instruction.deserialize.
|
|
67
|
-
InternalCall.wireFormat = [OperandType.UINT8, OperandType.
|
|
67
|
+
InternalCall.wireFormat = [OperandType.UINT8, OperandType.UINT16];
|
|
68
68
|
export class InternalReturn extends Instruction {
|
|
69
69
|
constructor() {
|
|
70
70
|
super();
|
|
@@ -47,10 +47,10 @@ ToRadixLE.opcode = Opcode.TORADIXLE;
|
|
|
47
47
|
ToRadixLE.wireFormat = [
|
|
48
48
|
OperandType.UINT8, // Opcode
|
|
49
49
|
OperandType.UINT8, // Indirect
|
|
50
|
-
OperandType.
|
|
51
|
-
OperandType.
|
|
52
|
-
OperandType.
|
|
53
|
-
OperandType.
|
|
50
|
+
OperandType.UINT16, // src memory address
|
|
51
|
+
OperandType.UINT16, // dst memory address
|
|
52
|
+
OperandType.UINT16, // radix memory address
|
|
53
|
+
OperandType.UINT16, // number of limbs (Immediate)
|
|
54
54
|
OperandType.UINT8, // output is in "bits" mode (Immediate - Uint1 still takes up a whole byte)
|
|
55
55
|
];
|
|
56
56
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdm0vb3Bjb2Rlcy9jb252ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFL0MsTUFBTSxPQUFPLFNBQVUsU0FBUSxXQUFXO0lBZXhDLFlBQ1UsUUFBZ0IsRUFDaEIsU0FBaUIsRUFDakIsU0FBaUIsRUFDakIsV0FBbUIsRUFDbkIsUUFBZ0IsRUFDaEIsVUFBa0I7UUFFMUIsS0FBSyxFQUFFLENBQUM7UUFQQSxhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQ2hCLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDakIsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUNqQixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuQixhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQ2hCLGVBQVUsR0FBVixVQUFVLENBQVE7SUFHNUIsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBbUI7UUFDdEMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1RCxNQUFNLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEUsTUFBTSxVQUFVLEdBQUcsVUFB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ec_add.d.ts","sourceRoot":"","sources":["../../../src/avm/opcodes/ec_add.ts"],"names":[],"mappings":"AAGA,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,KAAM,SAAQ,WAAW;IAkBlC,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,SAAS;IAxBnB,MAAM,CAAC,IAAI,EAAE,MAAM,CAAW;IAC9B,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;IAGtC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,CAUvC;gBAGQ,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,kBAAkB,EAAE,MAAM,EAC1B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,kBAAkB,EAAE,MAAM,EAC1B,SAAS,EAAE,MAAM;IAKd,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"ec_add.d.ts","sourceRoot":"","sources":["../../../src/avm/opcodes/ec_add.ts"],"names":[],"mappings":"AAGA,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,KAAM,SAAQ,WAAW;IAkBlC,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,SAAS;IAxBnB,MAAM,CAAC,IAAI,EAAE,MAAM,CAAW;IAC9B,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;IAGtC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,CAUvC;gBAGQ,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,kBAAkB,EAAE,MAAM,EAC1B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,kBAAkB,EAAE,MAAM,EAC1B,SAAS,EAAE,MAAM;IAKd,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAyDzD"}
|
|
@@ -46,7 +46,16 @@ export class EcAdd extends Instruction {
|
|
|
46
46
|
throw new Error(`Point1 is not on the curve`);
|
|
47
47
|
}
|
|
48
48
|
const grumpkin = new Grumpkin();
|
|
49
|
-
let dest
|
|
49
|
+
let dest;
|
|
50
|
+
if (p1IsInfinite) {
|
|
51
|
+
dest = p2;
|
|
52
|
+
}
|
|
53
|
+
else if (p2IsInfinite) {
|
|
54
|
+
dest = p1;
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
dest = grumpkin.add(p1, p2);
|
|
58
|
+
}
|
|
50
59
|
// Temporary,
|
|
51
60
|
if (p1IsInfinite) {
|
|
52
61
|
dest = p2;
|
|
@@ -68,12 +77,12 @@ EcAdd.opcode = Opcode.ECADD;
|
|
|
68
77
|
EcAdd.wireFormat = [
|
|
69
78
|
OperandType.UINT8, // reserved
|
|
70
79
|
OperandType.UINT16, // indirect
|
|
71
|
-
OperandType.
|
|
72
|
-
OperandType.
|
|
73
|
-
OperandType.
|
|
74
|
-
OperandType.
|
|
75
|
-
OperandType.
|
|
76
|
-
OperandType.
|
|
77
|
-
OperandType.
|
|
80
|
+
OperandType.UINT16, // p1X
|
|
81
|
+
OperandType.UINT16, // p1Y
|
|
82
|
+
OperandType.UINT16, // p1IsInfinite
|
|
83
|
+
OperandType.UINT16, // p2X
|
|
84
|
+
OperandType.UINT16, // p2Y
|
|
85
|
+
OperandType.UINT16, // p2IsInfinite
|
|
86
|
+
OperandType.UINT16, // dst
|
|
78
87
|
];
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNfYWRkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F2bS9vcGNvZGVzL2VjX2FkZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0QsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR2pELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFL0MsTUFBTSxPQUFPLEtBQU0sU0FBUSxXQUFXO0lBaUJwQyxZQUNVLFFBQWdCLEVBQ2hCLFNBQWlCLEVBQ2pCLFNBQWlCLEVBQ2pCLGtCQUEwQixFQUMxQixTQUFpQixFQUNqQixTQUFpQixFQUNqQixrQkFBMEIsRUFDMUIsU0FBaUI7UUFFekIsS0FBSyxFQUFFLENBQUM7UUFUQSxhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQ2hCLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDakIsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUNqQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQVE7UUFDMUIsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUNqQixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQ2pCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBUTtRQUMxQixjQUFTLEdBQVQsU0FBUyxDQUFRO0lBRzNCLENBQUM7SUFFTSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQW1CO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUQsT0FBTyxD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
|
|
@@ -96,14 +96,14 @@ class ExternalCall extends Instruction {
|
|
|
96
96
|
ExternalCall.wireFormat = [
|
|
97
97
|
OperandType.UINT8,
|
|
98
98
|
OperandType.UINT16, // Indirect
|
|
99
|
-
OperandType.
|
|
100
|
-
OperandType.
|
|
101
|
-
OperandType.
|
|
102
|
-
OperandType.
|
|
103
|
-
OperandType.
|
|
104
|
-
OperandType.
|
|
105
|
-
OperandType.
|
|
106
|
-
OperandType.
|
|
99
|
+
OperandType.UINT16,
|
|
100
|
+
OperandType.UINT16,
|
|
101
|
+
OperandType.UINT16,
|
|
102
|
+
OperandType.UINT16,
|
|
103
|
+
OperandType.UINT16,
|
|
104
|
+
OperandType.UINT16,
|
|
105
|
+
OperandType.UINT16,
|
|
106
|
+
OperandType.UINT16,
|
|
107
107
|
];
|
|
108
108
|
export class Call extends ExternalCall {
|
|
109
109
|
get type() {
|
|
@@ -143,8 +143,8 @@ Return.opcode = Opcode.RETURN;
|
|
|
143
143
|
Return.wireFormat = [
|
|
144
144
|
OperandType.UINT8,
|
|
145
145
|
OperandType.UINT8,
|
|
146
|
-
OperandType.
|
|
147
|
-
OperandType.
|
|
146
|
+
OperandType.UINT16,
|
|
147
|
+
OperandType.UINT16,
|
|
148
148
|
];
|
|
149
149
|
export class Revert extends Instruction {
|
|
150
150
|
constructor(indirect, returnOffset, retSize) {
|