call
pub fn call( contract_address: ContractAddress, function_selector: felt252, calldata: Array::<felt252> ) -> Result<CallResult, ScriptCommandError>
Calls a contract and returns CallResult
.
contract_address
- address of the contract to call.function_selector
- the selector of the function to call.calldata
- inputs to the function to be called.
use sncast_std::{call, CallResult};
use starknet::ContractAddress;
fn main() {
let contract_address: ContractAddress =
0x1e52f6ebc3e594d2a6dc2a0d7d193cb50144cfdfb7fdd9519135c29b67e427
.try_into()
.expect('Invalid contract address value');
let result = call(contract_address, selector!("get"), array![0x1]).expect('call failed');
println!("call result: {}", result);
println!("debug call result: {:?}", result);
}
Structure used by the command:
#[derive(Drop, Clone, Debug)]
pub struct CallResult {
pub data: Array::<felt252>,
}