let selector: [u8; 4] = [0xbd, 0x77, 0x15, 0xef];
let amount_out = build_call::<DefaultEnvironment>()
.call_type(Call::new().callee(self.liquidity_pool_address))
.exec_input(
ExecutionInput::new(Selector::new(selector))
.push_arg(amount)
)
.returns::<u128>()
.fire();
match amount_out {
Ok(output) => return output,
Err(_) => {
panic!("Failed to execute call")
}
}
The method with the selector: 0xbd7715ef returns a u128 (Balance) type. It doesn't ever have an Err variant, but instead returns 0. The liquidity_pool_address is also its deployed contract address And it takes one u128 argument
There are no error messages to help me debug the problem with the call.
Any clues?