Skip to content

Commit

Permalink
Implement get_execution_info_v2 (#420)
Browse files Browse the repository at this point in the history
* progress

* implement get_execution_info_v2
  • Loading branch information
edg-l authored Jan 23, 2024
1 parent 5e00369 commit 9c769ab
Show file tree
Hide file tree
Showing 6 changed files with 616 additions and 6 deletions.
41 changes: 40 additions & 1 deletion examples/erc20.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,10 @@ use cairo_native::{
context::NativeContext,
executor::JitNativeExecutor,
metadata::syscall_handler::SyscallHandlerMeta,
starknet::{BlockInfo, ExecutionInfo, StarkNetSyscallHandler, SyscallResult, TxInfo, U256},
starknet::{
BlockInfo, ExecutionInfo, ExecutionInfoV2, ResourceBounds, StarkNetSyscallHandler,
SyscallResult, TxInfo, TxV2Info, U256,
},
utils::find_entry_point_by_idx,
};
use starknet_types_core::felt::Felt;
Expand Down Expand Up @@ -46,6 +49,42 @@ impl StarkNetSyscallHandler for SyscallHandler {
})
}

fn get_execution_info_v2(
&mut self,
_remaining_gas: &mut u128,
) -> SyscallResult<cairo_native::starknet::ExecutionInfoV2> {
println!("Called `get_execution_info_v2()` from MLIR.");
Ok(ExecutionInfoV2 {
block_info: BlockInfo {
block_number: 1234,
block_timestamp: 2345,
sequencer_address: 3456.into(),
},
tx_info: TxV2Info {
version: 1.into(),
account_contract_address: 1.into(),
max_fee: 0,
signature: vec![1.into()],
transaction_hash: 1.into(),
chain_id: 1.into(),
nonce: 1.into(),
tip: 1,
paymaster_data: vec![1.into()],
nonce_data_availability_mode: 0,
fee_data_availability_mode: 0,
account_deployment_data: vec![1.into()],
resource_bounds: vec![ResourceBounds {
resource: 2.into(),
max_amount: 10,
max_price_per_unit: 20,
}],
},
caller_address: 6543.into(),
contract_address: 5432.into(),
entry_point_selector: 4321.into(),
})
}

fn deploy(
&mut self,
class_hash: Felt,
Expand Down
41 changes: 40 additions & 1 deletion examples/starknet.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,10 @@ use cairo_native::{
context::NativeContext,
executor::JitNativeExecutor,
metadata::syscall_handler::SyscallHandlerMeta,
starknet::{BlockInfo, ExecutionInfo, StarkNetSyscallHandler, SyscallResult, TxInfo, U256},
starknet::{
BlockInfo, ExecutionInfo, ExecutionInfoV2, ResourceBounds, StarkNetSyscallHandler,
SyscallResult, TxInfo, TxV2Info, U256,
},
utils::find_entry_point_by_idx,
};
use starknet_types_core::felt::Felt;
Expand Down Expand Up @@ -46,6 +49,42 @@ impl StarkNetSyscallHandler for SyscallHandler {
})
}

fn get_execution_info_v2(
&mut self,
_remaining_gas: &mut u128,
) -> SyscallResult<cairo_native::starknet::ExecutionInfoV2> {
println!("Called `get_execution_info_v2()` from MLIR.");
Ok(ExecutionInfoV2 {
block_info: BlockInfo {
block_number: 1234,
block_timestamp: 2345,
sequencer_address: 3456.into(),
},
tx_info: TxV2Info {
version: 1.into(),
account_contract_address: 1.into(),
max_fee: 0,
signature: vec![1.into()],
transaction_hash: 1.into(),
chain_id: 1.into(),
nonce: 1.into(),
tip: 1,
paymaster_data: vec![1.into()],
nonce_data_availability_mode: 0,
fee_data_availability_mode: 0,
account_deployment_data: vec![1.into()],
resource_bounds: vec![ResourceBounds {
resource: 2.into(),
max_amount: 10,
max_price_per_unit: 20,
}],
},
caller_address: 6543.into(),
contract_address: 5432.into(),
entry_point_selector: 4321.into(),
})
}

fn deploy(
&mut self,
class_hash: Felt,
Expand Down
Loading

0 comments on commit 9c769ab

Please sign in to comment.