Below is something resembling the order library code for Sail Exchange:

order.sw
library;


    abi OrderSettler {
        fn take(id:u64, order: LimitOrder);
        fn make(id:u64, order: LimitOrder);
        fn cancel(id:u64, order: LimitOrder);
    }

    pub struct LimitOrder {
        maker_token: b256,
        taker_token: b256,
        maker_amount: u64,
        taker_amount: u64,
        maker: Address,
    }