Skipping functional in multicall

Does the multicall function include parameters that allow for skipping subsequent calls if the first call fails?

In our plan to implement a smart contract for logging predicate creation, we aim to incorporate logic where the predicate creation call, if failed, prevents the contract from generating logs.

Smart contract example:

contract;
use ::logging::log;

struct CreateOrderParams{...}
struct CancelOrderParams{...}
struct FulfillOrderParams{...}

abi ProxyContract {
    fn create_order();
    fn cancel_order();
    fn fulfill_order();
}


impl ProxyContract for Contract {
    fn create_order(params: CreateOrderParams){
        log(params);
    }

    fn cancel_order(params: CancelOrderParams){
        log(params);
    }

    fn fulfill_order(params: FulfillOrderParams){
        log(params);
    }
}

I believe if one call fails, then the entire transaction should revert.

Thanks for reply! Will check with code :+1:

1 Like

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.