Skip to content

Commit

Permalink
Merge 9051230 into 12e2844
Browse files Browse the repository at this point in the history
  • Loading branch information
fcarreiro authored Mar 25, 2024
2 parents 12e2844 + 9051230 commit a4b7f8a
Show file tree
Hide file tree
Showing 27 changed files with 81 additions and 68 deletions.
4 changes: 2 additions & 2 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -983,7 +983,7 @@ jobs:
- *setup_env
- run:
name: "Test"
command: AVM_ENABLED=1 cond_spot_run_compose end-to-end 4 ./scripts/docker-compose.yml TEST=e2e_avm_simulator.test.ts
command: cond_spot_run_compose end-to-end 4 ./scripts/docker-compose.yml TEST=e2e_avm_simulator.test.ts
aztec_manifest_key: end-to-end
<<: *defaults_e2e_test

Expand Down Expand Up @@ -1033,7 +1033,7 @@ jobs:
- *setup_env
- run:
name: "Test"
command: AVM_ENABLED=1 cond_spot_run_compose end-to-end 4 ./scripts/docker-compose.yml TEST=docs_examples_test.ts
command: cond_spot_run_compose end-to-end 4 ./scripts/docker-compose.yml TEST=docs_examples_test.ts
aztec_manifest_key: end-to-end
<<: *defaults_e2e_test

Expand Down
2 changes: 0 additions & 2 deletions build-system/scripts/remote_run_script
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,6 @@ ssh -A -F $SSH_CONFIG_PATH $IP "
export ECR_URL=$ECR_URL
export BUILD_SYSTEM_DEBUG=${BUILD_SYSTEM_DEBUG:-}
# temp while we transitioning to avm
export AVM_ENABLED=${AVM_ENABLED:-}
source ./remote_initialize
$@
"
8 changes: 4 additions & 4 deletions l1-contracts/src/core/libraries/ConstantsGen.sol
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ library Constants {
uint256 internal constant CONTRACT_STORAGE_READ_LENGTH = 2;
uint256 internal constant CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH = 2;
uint256 internal constant ETH_ADDRESS_LENGTH = 1;
uint256 internal constant FUNCTION_DATA_LENGTH = 2;
uint256 internal constant FUNCTION_DATA_LENGTH = 3;
uint256 internal constant FUNCTION_LEAF_PREIMAGE_LENGTH = 5;
uint256 internal constant GLOBAL_VARIABLES_LENGTH = 6;
uint256 internal constant HEADER_LENGTH = 20;
Expand All @@ -114,13 +114,13 @@ library Constants {
uint256 internal constant NULLIFIER_KEY_VALIDATION_REQUEST_LENGTH = 4;
uint256 internal constant NULLIFIER_KEY_VALIDATION_REQUEST_CONTEXT_LENGTH = 5;
uint256 internal constant PARTIAL_STATE_REFERENCE_LENGTH = 6;
uint256 internal constant PRIVATE_CALL_STACK_ITEM_LENGTH = 210;
uint256 internal constant PRIVATE_CALL_STACK_ITEM_LENGTH = 211;
uint256 internal constant PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH = 207;
uint256 internal constant PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH = 198;
uint256 internal constant STATE_REFERENCE_LENGTH = 8;
uint256 internal constant TX_CONTEXT_DATA_LENGTH = 4;
uint256 internal constant TX_REQUEST_LENGTH = 8;
uint256 internal constant ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH = 11;
uint256 internal constant TX_REQUEST_LENGTH = 9;
uint256 internal constant ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH = 12;
uint256 internal constant GET_NOTES_ORACLE_RETURN_LENGTH = 674;
uint256 internal constant NOTE_HASHES_NUM_BYTES_PER_BASE_ROLLUP = 2048;
uint256 internal constant NULLIFIERS_NUM_BYTES_PER_BASE_ROLLUP = 2048;
Expand Down
2 changes: 1 addition & 1 deletion noir-projects/noir-contracts/bootstrap.sh
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,4 @@ $NARGO compile --silence-warnings

echo "Transpiling avm contracts... (only '#[aztec(public-vm)]')"
TRANSPILER=${TRANSPILER:-../../avm-transpiler/target/release/avm-transpiler}
ls target/avm_*.json | parallel -L8 "$TRANSPILER {} {}"
ls target/avm_*.json | parallel "$TRANSPILER {} {}"
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,15 @@ use crate::{
struct FunctionData {
selector : FunctionSelector,
is_private : bool,
// Remove once the AVM is fully operational.
is_transpiled: bool,
}

impl Eq for FunctionData {
fn eq(self, other: Self) -> bool {
self.selector.eq(other.selector) &
self.is_private == other.is_private
(self.is_private == other.is_private) &
(self.is_transpiled == other.is_transpiled)
}
}

Expand All @@ -24,6 +27,7 @@ impl Serialize<FUNCTION_DATA_LENGTH> for FunctionData {
[
self.selector.to_field(),
self.is_private as Field,
self.is_transpiled as Field,
]
}
}
Expand All @@ -33,6 +37,7 @@ impl Deserialize<FUNCTION_DATA_LENGTH> for FunctionData {
Self {
selector: FunctionSelector::from_field(serialized[0]),
is_private: serialized[1] as bool,
is_transpiled: serialized[2] as bool,
}
}
}
Expand All @@ -57,6 +62,6 @@ fn empty_hash() {
let hash = data.hash();

// Value from function_data.test.ts "computes empty item hash" test
let test_data_empty_hash = 0x27b1d0839a5b23baf12a8d195b18ac288fcf401afb2f70b8a4b529ede5fa9fed;
let test_data_empty_hash = 0x066e6cdc4a6ba5e4781deda650b0be6c12f975f064fc38df72c1060716759b17;
assert_eq(hash, test_data_empty_hash);
}
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,6 @@ fn empty_hash() {
let hash = item.hash();

// Value from private_call_stack_item.test.ts "computes empty item hash" test
let test_data_empty_hash = 0x13f518365c690d1b96d31454afed495ad29fe530939caf7189dd44f9bd63ef89;
let test_data_empty_hash = 0x06b381be873c42defb570287e3ba23900175838afb6047a27c7dce1f653b4ac5;
assert_eq(hash, test_data_empty_hash);
}
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ mod tests {
#[test]
fn compute_call_stack_item_request_hash() {
let contract_address = AztecAddress::from_field(1);
let function_data = FunctionData { selector: FunctionSelector::from_u32(2), is_private: false };
let function_data = FunctionData { selector: FunctionSelector::from_u32(2), is_private: false, is_transpiled: false };

let mut public_inputs: PublicCircuitPublicInputs = dep::std::unsafe::zeroed();
public_inputs.new_note_hashes[0] = SideEffect{
Expand All @@ -69,14 +69,14 @@ mod tests {
let call_stack_item = PublicCallStackItem { contract_address, public_inputs, is_execution_request: true, function_data };

// Value from public_call_stack_item.test.ts "Computes a callstack item request hash" test
let test_data_call_stack_item_request_hash = 0x141bbf6bc30f0a19640983354528288239b68edd5c1edd9955a007801230d7b6;
let test_data_call_stack_item_request_hash = 0x09bd19d3ebcda705ab1ed598db287340aed3efda0ad3bbbf3296737bda731fa9;
assert_eq(call_stack_item.hash(), test_data_call_stack_item_request_hash);
}

#[test]
fn compute_call_stack_item_hash() {
let contract_address = AztecAddress::from_field(1);
let function_data = FunctionData { selector: FunctionSelector::from_u32(2), is_private: false };
let function_data = FunctionData { selector: FunctionSelector::from_u32(2), is_private: false, is_transpiled: false };

let mut public_inputs: PublicCircuitPublicInputs = dep::std::unsafe::zeroed();
public_inputs.new_note_hashes[0] = SideEffect{
Expand All @@ -87,7 +87,7 @@ mod tests {
let call_stack_item = PublicCallStackItem { contract_address, public_inputs, is_execution_request: false, function_data };

// Value from public_call_stack_item.test.ts "Computes a callstack item hash" test
let test_data_call_stack_item_hash = 0x05e9e448563aa811c209cc557136ac56b55f9f2f31ee54d41b697389fd45dc1c;
let test_data_call_stack_item_hash = 0x1fe20dd657d73941763bf8437471ac000be6efcb046895014b1a84b5aaf55905;
assert_eq(call_stack_item.hash(), test_data_call_stack_item_hash);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ global CONTRACT_INSTANCE_LENGTH: u64 = 6;
global CONTRACT_STORAGE_READ_LENGTH: u64 = 2;
global CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH: u64 = 2;
global ETH_ADDRESS_LENGTH = 1;
global FUNCTION_DATA_LENGTH: u64 = 2;
global FUNCTION_DATA_LENGTH: u64 = 3;
global FUNCTION_LEAF_PREIMAGE_LENGTH: u64 = 5;
global GLOBAL_VARIABLES_LENGTH: u64 = 6;
global HEADER_LENGTH: u64 = 20; // 2 for last_archive, 4 for content commitment, 8 for state reference, 6 for global vars
Expand All @@ -165,7 +165,7 @@ global MAX_BLOCK_NUMBER_LENGTH: u64 = 2; // 1 for the option flag, 1 for the val
global NULLIFIER_KEY_VALIDATION_REQUEST_LENGTH = 4;
global NULLIFIER_KEY_VALIDATION_REQUEST_CONTEXT_LENGTH = 5;
global PARTIAL_STATE_REFERENCE_LENGTH: u64 = 6;
global PRIVATE_CALL_STACK_ITEM_LENGTH: u64 = 210;
global PRIVATE_CALL_STACK_ITEM_LENGTH: u64 = 211;
// Change this ONLY if you have changed the PrivateCircuitPublicInputs structure.
// In other words, if the structure/size of the public inputs of a function call changes then we should change this
// constant as well PRIVATE_CALL_STACK_ITEM_LENGTH
Expand All @@ -174,9 +174,9 @@ global PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH: u64 = 207;
global PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH: u64 = 198;
global STATE_REFERENCE_LENGTH: u64 = 8; // 2 for snap + 8 for partial
global TX_CONTEXT_DATA_LENGTH: u64 = 4;
global TX_REQUEST_LENGTH: u64 = 8; // 2 + TX_CONTEXT_DATA_LENGTH + FUNCTION_DATA_LENGTH
global TX_REQUEST_LENGTH: u64 = 9; // 2 + TX_CONTEXT_DATA_LENGTH + FUNCTION_DATA_LENGTH

global ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH: Field = 11; // 2 + FUNCTION_DATA_LENGTH + CALL_CONTEXT_LENGTH
global ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH: Field = 12; // 2 + FUNCTION_DATA_LENGTH + CALL_CONTEXT_LENGTH
global GET_NOTES_ORACLE_RETURN_LENGTH: u64 = 674;
global NOTE_HASHES_NUM_BYTES_PER_BASE_ROLLUP: Field = 2048;
global NULLIFIERS_NUM_BYTES_PER_BASE_ROLLUP: Field = 2048;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ global default_private_function = ContractFunction {
data: FunctionData {
selector: FunctionSelector { inner: 1010101 },
is_private: true,
is_transpiled: false,
},
vk_hash: 0,
acir_hash: 1111,
Expand All @@ -34,6 +35,7 @@ global default_public_function = ContractFunction {
data: FunctionData {
selector: FunctionSelector { inner: 3030303 },
is_private: false,
is_transpiled: false,
},
vk_hash: 0,
acir_hash: 3333,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,10 +80,10 @@ mod tests {
origin: AztecAddress::from_field(1),
args_hash: 3,
tx_context: TxContext { is_fee_payment_tx: false, is_rebate_payment_tx: false, chain_id: 0, version: 0 },
function_data: FunctionData { selector: FunctionSelector::from_u32(2), is_private: true }
function_data: FunctionData { selector: FunctionSelector::from_u32(2), is_private: true, is_transpiled: false }
};
// Value from tx_request.test.ts "compute hash" test
let test_data_tx_request_hash = 0x20af6f595c396494f1177fa196d17e98d55a2416b28c262b76e78a36d6c01daa;
let test_data_tx_request_hash = 0x08e435f993536fd7a9d6faabfc03a18c4314a54d3d90d15a15275fcfe77bc5a3;
assert(tx_request.hash() == test_data_tx_request_hash);
}
}
8 changes: 4 additions & 4 deletions yarn-project/circuits.js/src/constants.gen.ts
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ export const CONTRACT_INSTANCE_LENGTH = 6;
export const CONTRACT_STORAGE_READ_LENGTH = 2;
export const CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH = 2;
export const ETH_ADDRESS_LENGTH = 1;
export const FUNCTION_DATA_LENGTH = 2;
export const FUNCTION_DATA_LENGTH = 3;
export const FUNCTION_LEAF_PREIMAGE_LENGTH = 5;
export const GLOBAL_VARIABLES_LENGTH = 6;
export const HEADER_LENGTH = 20;
Expand All @@ -99,13 +99,13 @@ export const MAX_BLOCK_NUMBER_LENGTH = 2;
export const NULLIFIER_KEY_VALIDATION_REQUEST_LENGTH = 4;
export const NULLIFIER_KEY_VALIDATION_REQUEST_CONTEXT_LENGTH = 5;
export const PARTIAL_STATE_REFERENCE_LENGTH = 6;
export const PRIVATE_CALL_STACK_ITEM_LENGTH = 210;
export const PRIVATE_CALL_STACK_ITEM_LENGTH = 211;
export const PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH = 207;
export const PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH = 198;
export const STATE_REFERENCE_LENGTH = 8;
export const TX_CONTEXT_DATA_LENGTH = 4;
export const TX_REQUEST_LENGTH = 8;
export const ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH = 11;
export const TX_REQUEST_LENGTH = 9;
export const ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH = 12;
export const GET_NOTES_ORACLE_RETURN_LENGTH = 674;
export const NOTE_HASHES_NUM_BYTES_PER_BASE_ROLLUP = 2048;
export const NULLIFIERS_NUM_BYTES_PER_BASE_ROLLUP = 2048;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`FunctionData computes empty inputs hash 1`] = `Fr<0x27b1d0839a5b23baf12a8d195b18ac288fcf401afb2f70b8a4b529ede5fa9fed>`;
exports[`FunctionData computes empty inputs hash 1`] = `Fr<0x066e6cdc4a6ba5e4781deda650b0be6c12f975f064fc38df72c1060716759b17>`;
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`PrivateCallStackItem computes empty item hash 1`] = `Fr<0x13f518365c690d1b96d31454afed495ad29fe530939caf7189dd44f9bd63ef89>`;
exports[`PrivateCallStackItem computes empty item hash 1`] = `Fr<0x06b381be873c42defb570287e3ba23900175838afb6047a27c7dce1f653b4ac5>`;

exports[`PrivateCallStackItem computes hash 1`] = `Fr<0x1b1f2424b9b38679cd1520ad44392630ac60f1efd1e73e5a0682d999fdee5f91>`;
exports[`PrivateCallStackItem computes hash 1`] = `Fr<0x22654b49c43ac7bb9abc1a84d46ba1a6c67a9d354b9b4c5aba2496e82f03315f>`;
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`PublicCallStackItem Computes a callstack item hash 1`] = `"0x05e9e448563aa811c209cc557136ac56b55f9f2f31ee54d41b697389fd45dc1c"`;
exports[`PublicCallStackItem Computes a callstack item hash 1`] = `"0x1fe20dd657d73941763bf8437471ac000be6efcb046895014b1a84b5aaf55905"`;

exports[`PublicCallStackItem Computes a callstack item request hash 1`] = `"0x141bbf6bc30f0a19640983354528288239b68edd5c1edd9955a007801230d7b6"`;
exports[`PublicCallStackItem Computes a callstack item request hash 1`] = `"0x09bd19d3ebcda705ab1ed598db287340aed3efda0ad3bbbf3296737bda731fa9"`;

exports[`PublicCallStackItem computes hash 1`] = `Fr<0x0a9961096ae423e5c4bc1175bb191b8c2b2ad63feda7ce5599842909c09d9973>`;
exports[`PublicCallStackItem computes hash 1`] = `Fr<0x131efdeaaf1e936042e5e5a24a8546863bbddfc70b8e6bdd6df457595df30577>`;
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`TxRequest compute hash 1`] = `"0x20af6f595c396494f1177fa196d17e98d55a2416b28c262b76e78a36d6c01daa"`;
exports[`TxRequest compute hash 1`] = `"0x08e435f993536fd7a9d6faabfc03a18c4314a54d3d90d15a15275fcfe77bc5a3"`;
15 changes: 11 additions & 4 deletions yarn-project/circuits.js/src/structs/function_data.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,18 @@ export class FunctionData {
public selector: FunctionSelector,
/** Indicates whether the function is private or public. */
public isPrivate: boolean,
/**
* Transitional: whether the function is an AVM function.
* Remove when the AVM is fully operational.
*/
public isTranspiled: boolean = false,
) {}

static fromAbi(abi: FunctionAbi | ContractFunctionDao): FunctionData {
return new FunctionData(
FunctionSelector.fromNameAndParameters(abi.name, abi.parameters),
abi.functionType === FunctionType.SECRET,
abi.isTranspiled ?? false,
);
}

Expand All @@ -27,11 +33,11 @@ export class FunctionData {
* @returns The buffer.
*/
toBuffer(): Buffer {
return serializeToBuffer(this.selector, this.isPrivate);
return serializeToBuffer(this.selector, this.isPrivate, this.isTranspiled);
}

toFields(): Fr[] {
const fields = [this.selector.toField(), new Fr(this.isPrivate)];
const fields = [this.selector.toField(), new Fr(this.isPrivate), new Fr(this.isTranspiled)];
if (fields.length !== FUNCTION_DATA_LENGTH) {
throw new Error(
`Invalid number of fields for FunctionData. Expected ${FUNCTION_DATA_LENGTH}, got ${fields.length}`,
Expand Down Expand Up @@ -67,16 +73,17 @@ export class FunctionData {
*/
static fromBuffer(buffer: Buffer | BufferReader): FunctionData {
const reader = BufferReader.asReader(buffer);
return new FunctionData(reader.readObject(FunctionSelector), reader.readBoolean());
return new FunctionData(reader.readObject(FunctionSelector), reader.readBoolean(), reader.readBoolean());
}

static fromFields(fields: Fr[] | FieldReader): FunctionData {
const reader = FieldReader.asReader(fields);

const selector = FunctionSelector.fromFields(reader);
const isPrivate = reader.readBoolean();
const isTranspiled = reader.readBoolean();

return new FunctionData(selector, isPrivate);
return new FunctionData(selector, isPrivate, isTranspiled);
}

hash(): Fr {
Expand Down
13 changes: 4 additions & 9 deletions yarn-project/end-to-end/Earthfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,8 @@ E2E_TEST_LOCAL:
FUNCTION
ARG test
ARG compose_file=./scripts/docker-compose.yml
ARG avm_enabled=""
ARG enable_gas=""
LOCALLY
ENV AVM_ENABLED=$avm_enabled
ENV ENABLE_GAS=$enable_gas
ENV TEST=$test.test.ts
# Locally, we do not use WITH DOCKER as we have had issues with earthly copying big images
Expand All @@ -22,10 +20,8 @@ E2E_TEST_REMOTE:
FUNCTION
ARG test
ARG compose_file=./scripts/docker-compose.yml
ARG avm_enabled=""
ARG enable_gas=""
FROM earthly/dind:alpine-3.19-docker-25.0.2-r0
ENV AVM_ENABLED=$avm_enabled
ENV ENABLE_GAS=$enable_gas
ENV TEST=$test.test.ts
COPY $compose_file $compose_file
Expand All @@ -42,14 +38,13 @@ E2E_TEST:
FUNCTION
ARG test
ARG compose_file=./scripts/docker-compose.yml
ARG avm_enabled=""
ARG enable_gas=""
ARG e2e_remote=false
LOCALLY
IF [ $e2e_remote = true ]
DO +E2E_TEST_REMOTE --test=$test --compose_file=$compose_file --avm_enabled=$avm_enabled --enable_gas=$enable_gas
DO +E2E_TEST_REMOTE --test=$test --compose_file=$compose_file --enable_gas=$enable_gas
ELSE
DO +E2E_TEST_LOCAL --test=$test --compose_file=$compose_file --avm_enabled=$avm_enabled --enable_gas=$enable_gas
DO +E2E_TEST_LOCAL --test=$test --compose_file=$compose_file --enable_gas=$enable_gas
END

# we could use a parameterized target, but these just print cleaner in earthly log
Expand Down Expand Up @@ -143,7 +138,7 @@ e2e-card-game:

e2e-avm-simulator:
ARG e2e_remote=false
DO +E2E_TEST --test=e2e_avm_simulator --avm_enabled=1 --e2e_remote=$e2e_remote
DO +E2E_TEST --test=e2e_avm_simulator --e2e_remote=$e2e_remote

e2e-fees:
ARG e2e_remote=false
Expand All @@ -163,7 +158,7 @@ cli-docs-sandbox:

e2e-docs-examples:
ARG e2e_remote=false
DO +E2E_TEST --test=docs_examples --avm_enabled=1 --e2e_remote=$e2e_remote
DO +E2E_TEST --test=docs_examples --e2e_remote=$e2e_remote

# all:
# for stability, instead of an 'all' target in Earthly, use `make all`
1 change: 0 additions & 1 deletion yarn-project/end-to-end/scripts/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ services:
WS_BLOCK_CHECK_INTERVAL_MS: 50
PXE_BLOCK_POLLING_INTERVAL_MS: 50
ARCHIVER_VIEM_POLLING_INTERVAL_MS: 500
AVM_ENABLED: ${AVM_ENABLED:-}
ENABLE_GAS: ${ENABLE_GAS:-}
expose:
- '8080'
Expand Down
3 changes: 1 addition & 2 deletions yarn-project/end-to-end/src/e2e_avm_simulator.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,9 @@ import { jest } from '@jest/globals';

import { setup } from './fixtures/utils.js';

process.env.AVM_ENABLED = 'absofrigginlutely';
const TIMEOUT = 100_000;

describe('e2e_nested_contract', () => {
describe('e2e_avm_simulator', () => {
jest.setTimeout(TIMEOUT);

let wallet: Wallet;
Expand Down
4 changes: 4 additions & 0 deletions yarn-project/foundation/src/abi/abi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,10 @@ export interface FunctionAbi {
* Whether the function is flagged as an initializer.
*/
isInitializer: boolean;
/**
* Transitional: whether the function is an AVM function.
*/
isTranspiled?: boolean;
}

/**
Expand Down
Loading

0 comments on commit a4b7f8a

Please sign in to comment.